Choose an installer by operating system, processor architecture, and interface type. Use v2rayN on desktop systems; on Android, choose between v2rayNG and v2flyNG based on the core family and configuration compatibility you need.
v2rayN Desktopv2rayNG for Androidv2flyNG alternative
PLATFORM SELECTOR
Choose your operating system and package
Confirm the platform first, then check the processor architecture and package format. Switching platforms updates the address bar, so you can copy the current link and return directly to the matching download panel.
WINDOWS PACKAGE
v2rayN: Desktop and classic WPF
The Windows panel offers v2rayN only. The Desktop edition uses a newer cross-platform interface with a layout closer to other desktop platforms; the WPF edition keeps the classic Windows interface and familiar menu structure. For a first installation, start with Desktop; choose the classic edition if you already rely on WPF settings and workflows.
x64 · ZIP
Recommended
v2rayN Windows
Current version 7.24.1
The two entry points use different interface implementations; they are not separate protocol clients. Core tasks such as importing subscriptions, selecting nodes, configuring the system proxy, and managing routing can all be completed in v2rayN.
Desktop edition
A newer cross-platform UI for first-time installs, users who prefer the modern interface, and anyone who wants a consistent desktop workflow.
The Windows packages on this page target common 64-bit desktop environments.
First choice
Desktop edition
A newer cross-platform interface with an organization suited to a fresh installation.
Existing workflow
WPF edition
Keeps the classic interface and menu paths, reducing the cost of switching.
After installation
Import configuration and start the client
Installing the client alone does not create a usable node or subscription.
MACOS PACKAGE
v2rayN: choose by chip architecture
macOS uses v2rayN. Before downloading, open System Information and check the Chip or Processor field: choose Apple Silicon arm64 for an Apple M-series chip, or x64 for an Intel processor. The two packages provide the same core features; they differ in their target architecture. Choosing the wrong one may prevent startup or cause runtime issues.
arm64 / x64 · DMG
Recommended
v2rayN macOS
Current version 7.24.1
Confirm the computer’s chip, then download the matching DMG. Architecture only determines which installer to use; the basic logic for subscriptions, node configuration, and routing rules remains the same.
Apple Silicon
For devices whose System Information shows an Apple M-series chip; the processor architecture is arm64.
v2rayNG first, v2flyNG as a core-family alternative
Android offers v2rayNG and v2flyNG. For typical configurations, start with v2rayNG; choose v2flyNG for the v2fly core ecosystem, specific compatibility checks, or a second client. Most mainstream phones released after 2015 should use arm64-v8a first; use the universal edition if the architecture is unknown or installation fails.
arm64 / universal · APK
Recommended
v2rayNG
Current version 2.2.6
An Android GUI client from the Xray core family, supporting subscription groups, single-node imports, routing rules, and local proxy settings. Most recent phones should start with the arm64 edition.
arm64-v8a
For mainstream 64-bit Android phones released after 2015, with a package targeting the commonly used ARM64 architecture.
An Android client using the v2fly core family. Suitable when you need its core behavior, want to compare configuration compatibility, or plan to use two clients for separate subscription groups.
arm64-v8a
For mainstream 64-bit ARM phones; this package contains only the files required for that architecture.
Choose arm64-v8a after confirming the device is 64-bit ARM
Processor architecture unclear
Either matching universal edition
Universal packages cover more architectures and are usually larger
First connection after installation
Import a subscription and select a node
Allow the client to create a local network connection when required
LINUX PACKAGES
v2rayN: choose the distribution format, then the architecture
Linux uses v2rayN. Choose deb for Debian, Ubuntu, and derivatives; choose rpm for Fedora, Rocky Linux, AlmaLinux, and RHEL-based distributions. Then run uname -m to identify the architecture: choose x64 for x86_64, and arm64 for aarch64 or arm64.
x64 / arm64 · DEB / RPM
Recommended
v2rayN Linux
Current version 7.24.1
The package format must match the distribution’s package system. The architecture must match as well; x64 and arm64 packages are not interchangeable. Once installed in a desktop environment, launch the app from the application menu and import a subscription.
DEB x64
For Debian, Ubuntu, and common x64 desktop derivatives.
Choose these only when the system architecture shows aarch64 or arm64. Determine deb or rpm from the distribution first, then download the matching architecture.
Do not determine the package format from the desktop environment name alone
PACKAGE DECISION
Three checks before downloading
Confirm the platform, package format, and processor architecture in order. A version number in the filename alone cannot show whether the package suits your device.
01
Identify the operating system first
Windows, macOS, Android, and Linux use different package formats. Do not download across platforms or treat desktop and mobile clients as the same program. For desktop systems, use v2rayN; on Android, start with v2rayNG for typical use and consider v2flyNG when you need the v2fly core ecosystem.
02
Then confirm the format or interface branch
Windows Desktop and WPF differ in interface technology and workflow; the two macOS packages differ by chip; Linux deb and rpm packages differ by distribution package system; Android arm64 and universal editions differ in processor coverage. Understand the branches first, then choose from your device information.
03
Check the architecture last
x64, arm64, and universal indicate processor architecture or compatibility range. A mismatch commonly causes the installer to refuse execution, the app to fail to start, or the system to report an incompatible format. If device information is unclear, check system settings instead of trying packages at random.
AFTER INSTALLATION
Configuration order after installation
Downloading the client is only the first step. A usable connection also requires a configuration source, an active node, a proxy mode, and connectivity testing.
Open the client and confirm the main interface works
At first launch, confirm that the app reaches its main interface and that the menus, log area, and configuration entry points work. If it does not start, return to this page and check the operating system, package format, and processor architecture rather than blaming the subscription or node.
Import a subscription or single-node configuration
Subscription links are usually added to a subscription group and then updated; individual nodes can be imported from a link, QR code, or configuration file. After importing, the server list should contain the expected entries. If it is empty, check the import entry point, subscription URL, and client logs.
Select an active node and proxy mode
Select the configuration you want in the node list, then start the client. On desktop, also confirm the system proxy mode; on Android, start the connection inside the client. For fine-grained routing, verify basic connectivity with the existing rule set before adjusting custom routes.
Verify browser and app traffic
Do not judge connectivity solely by the client button color. Open a page that requires network access and check the client logs to confirm that requests use the expected outbound. If the browser works but another app does not, check whether that app follows the system proxy or requires a separate proxy address.
CLIENT NOTES
How the three clients differ
The client names are similar, but their platform coverage, interfaces, and core families differ. Choose based on your device and configuration requirements.
v2rayN
v2rayN is the desktop client covered here, supporting Windows, macOS, and Linux. It manages subscription groups, server lists, system proxies, routing rules, and logs. Windows offers both Desktop and WPF branches; macOS and Linux require an additional choice based on architecture or package format.
Desktop users generally need only one v2rayN edition. Different packages do not change subscription content; the main differences come from the operating system, processor architecture, and interface implementation.
v2rayNG
v2rayNG is the preferred Android entry point and uses the Xray core family. It manages subscriptions, QR codes, and single-node configurations while establishing a local network connection on mobile devices. Recent mainstream phones should use arm64-v8a; choose the universal edition when the architecture is unclear.
Before importing a subscription used on desktop, note that clients may use different names for some advanced fields, routing rules, and transport options. When they differ, rely on the client’s actual logs.
v2flyNG
v2flyNG also targets Android but uses the v2fly core family. It is an alternative when you need that core’s behavior or want to manage different subscriptions or configurations separately. Choosing v2flyNG does not make node configurations automatically compatible; verify the protocol, transport layer, and routing fields.
If you have no specific core-compatibility requirement, start with v2rayNG. If the configuration specifies the v2fly ecosystem or you need to compare core behavior, use v2flyNG.
DOWNLOAD FAQ
Common download and installation questions
These questions cover interface branches, chip architecture, mobile packages, Linux package formats, and initial configuration after installation.
Should Windows users download v2rayN Desktop or the WPF edition?
For a first installation, start with Desktop for its newer cross-platform interface and layout closer to other desktop platforms. Choose WPF if you need the classic Windows interface, already use WPF, or want to keep the original menu paths. Both are v2rayN, with similar core workflows for importing subscriptions, selecting nodes, configuring the system proxy, and managing routing.
Do not run both editions at the same time while they compete for the same local proxy port. To compare interfaces, fully exit the current edition before starting the other.
How do you choose between the Apple Silicon and Intel installer on macOS?
Open System Information and check the Chip or Processor field. Choose the Apple Silicon arm64 package for an Apple M-series chip, or the x64 package for an Intel processor. A mismatch may prevent the app from starting, so do not rely only on the purchase year or the device’s appearance.
Should Android users download arm64 or the universal edition?
Most mainstream Android phones released after 2015 should use arm64-v8a first. It targets the common 64-bit ARM architecture, so its contents are more focused. If the architecture is unknown, the device is older, or the arm64 package fails to install, use the universal edition instead. It supports more architectures and is usually larger.
How do you choose between deb and rpm packages on Linux?
Choose deb for Debian, Ubuntu, and derivatives; choose rpm for Fedora, Rocky Linux, AlmaLinux, and RHEL-based distributions. After choosing the format, run uname -m to identify the architecture: x86_64 maps to x64, while aarch64 or arm64 maps to arm64.
The desktop environment name cannot replace distribution identification. The same desktop environment may run on different distributions, while the distribution’s package management system determines the package format.
Why can’t the client connect immediately after installation?
A GUI client manages configuration and invokes the relevant core; after installation, you still need to import a valid subscription or single-node configuration. Select an active node, start the client, and configure the system proxy or routing mode as needed. If the node list is empty, check for subscription updates first. If a node exists but fails to connect, inspect handshake, DNS resolution, and routing details in the logs.
How should you choose between v2rayNG and v2flyNG?
For typical Android use, start with v2rayNG from the Xray core family. Choose v2flyNG for the v2fly core ecosystem, specific compatibility checks, or separate management of different configurations. Their subscription import locations and some setting names differ, so review routing and local proxy settings after switching clients.