Client downloads · Choose a system and architecture

Download V2Ray Clients

v2rayN for desktop; v2rayNG and v2flyNG for Android.
Choose your system, then select a package that matches your device.

Free forever Open source Graphical interface

These packages install the client. For your first setup, you'll also need a connection configuration you're authorized to use. If you already have one, back up your settings before updating.

Windows client

v2rayN · x64 packages · Two editions

v2rayN

Recommended 7.24.1

Desktop features a modern cross-platform UI; classic WPF keeps the familiar Windows interface and workflow. For a first install, start with Desktop.

Desktop edition

Download Desktop · x64

A modern cross-platform interface for first-time installs and a consistent desktop workflow.

Classic WPF edition

Download classic · x64

The established edition with the familiar interface. Stick with it if you're used to its workflow.

The download is a ZIP archive. Extract the entire archive before running the installer; don't launch it from the archive preview.

Windows requirements and installation checklist

CheckWhat to look forBefore installing
Processor architecturex64 packages available on this pageCheck System type under Settings > About
Windows versionUse a Windows version still supported by its vendor; check the installer for the minimum versionInstall required system updates and confirm runtime dependencies are met
Install locationChoose a location your account can read and writeBack up existing settings and check available storage
Permissions and modesStandard system proxy and Tun mode have different permission requirementsGrant permissions only for the features you use; don't elevate every operation by default

These are two interface editions, not separate connection services. Support for a protocol depends on the client-selected core, its version, and the complete connection parameters. If you're already using classic, you don't need to migrate just because the interface differs. Before switching to Desktop, export any settings you can back up and note your subscription groups, ports, and custom routes. Check that the new version can read your configuration before deciding whether to remove the old installation.

After installation, launch the client and import a share link or subscription URL. Before enabling the system proxy, confirm that a node is selected and its connection parameters are complete. If your browser works but other apps don't, check whether those apps follow the system proxy instead of repeatedly reinstalling the client. If you need Tun mode, handle its permissions, virtual network interface, and routing conflicts separately.

After installation: import, select, verify

Downloading is only the first step in setting up a client. Connection configuration, proxy mode, and an app's network path are separate parts of the setup and should be checked in order. On desktop with v2rayN or Android with v2rayNG, menus differ, but the steps are the same: import a configuration, select the one you want to use, then verify that traffic is routed as expected.

Start with your connection configuration

A share link describes one connection; a subscription URL retrieves a group of configurations and can be updated later. Copy the full content without adding explanatory text. After importing a subscription, update it to retrieve the entries. If you see a group name but no nodes, check the fetch results.

Import and first connection guide →

Then check which traffic uses the proxy

The system proxy affects apps that honor that setting. Routing rules determine how requests that reach the client are sent out. Choosing global or rule-based mode doesn't automatically change how every app connects to the proxy. When testing, check both the client status and the target app's actual connectivity.

Connection and proxy troubleshooting →

Update the client and keep your settings

Updating the client, refreshing a subscription, and changing the core are separate operations. A client update changes the interface and app features; a subscription refresh retrieves connection configurations; the core determines which protocols and transport combinations are supported. When a connection fails, identify which layer is involved. Don't blame every issue on the installed version or repeatedly uninstall without a backup.

Before installing over an existing version, note the current install location and back up subscription groups, custom routes, local ports, and any essential settings files. Quit the client and confirm the system proxy has returned to its expected state. After updating, check that your existing configuration loads, then test a known working connection. Remove old files only after confirming your workflow still works.

When moving to another device or switching interface editions, check whether the target client supports importing your backup. Don't assume core-specific fields in custom configurations mean the same thing in every client. Before switching from v2rayNG to v2flyNG, review the protocol and core documentation and confirm your configuration doesn't rely on features the target core lacks.

This page reads a download manifest to update links and version text. If the displayed version temporarily differs from the number in a filename, distinguish the app version field from the package's filename; don't construct another download URL based on the filename. If a package is unavailable, try again later. If you run into compatibility issues after installation, keep the system prompt and check the OS version, processor architecture, and runtime dependencies one by one.

Learn about protocol support and core differences →

Download and installation FAQs

Which v2rayN Windows edition should you choose: Desktop or classic WPF?

For your first install, start with Desktop, which uses a modern cross-platform interface. If you prefer the familiar layout and workflow, choose classic WPF. Both are v2rayN interface editions. Back up your configuration before switching, and don't infer protocol support from the interface name alone.

What's the difference between Apple Silicon and Intel macOS downloads?

The packages target different processor architectures. Open About This Mac from the system menu: choose Apple Silicon if it shows an Apple M-series chip, or Intel if it lists an Intel processor. Prefer the package built for your device's native architecture; don't guess based on screen size or purchase year.

Should I download the arm64 or universal Android version?

Most mainstream phones released since 2015 can start with arm64, but check which architecture the device's OS actually supports. If the architecture is unclear or the arm64 package is incompatible, try the universal version. It includes components for multiple architectures and usually takes up more storage; it doesn't make connections faster.

Can I connect as soon as the client is installed?

The client package doesn't include a usable connection configuration. After installation, import a share link or subscription URL you're authorized to use, select a connection, set a proxy mode, and check that your apps can connect. Subscription URLs may contain credentials; don't share the full URL, QR code, or configuration backup.

What should I keep before updating the client?

Back up subscription groups, custom routing, ports, and relevant settings, and note the current install location. Quit the client and make sure the system proxy has returned to its expected state before updating. Before changing interface editions or moving to another device, check configuration compatibility; don't delete the existing data directory outright.

Should I download a deb or rpm package for Linux?

Choose deb for Debian, Ubuntu, and compatible distributions; choose rpm for Fedora and distributions that use RPM package management. Match the x64 or arm64 architecture too, and let your system's package installer check dependencies. The same package format doesn't guarantee compatibility with every distribution.