Choose by device and processor architecture

V2Ray Client Downloads

Use v2rayN on desktop devices, and choose between v2rayNG and v2flyNG on Android. Before downloading, confirm the operating system, processor architecture, and package format instead of repeatedly trying files based only on their names.

v2rayN v2rayNG v2flyNG Free forever Open source

Platforms and Packages

Switching platforms updates the anchor in the address bar. Copy the URL with its anchor to return directly to the selected platform.

Windows desktop client

v2rayN

Recommended

v2rayN offers a newer cross-platform Desktop edition and a classic WPF edition. Both support subscription management, node selection, routing, DNS, the system proxy, and TUN configuration, but their interface technology and workflows differ. New users can start with Desktop; choose WPF if you already know the classic interface or want to keep using it.

New cross-platform interface

v2rayN Desktop

Preferred option

For 64-bit Windows devices that support the newer desktop interface. The download is a compressed archive; extract it, run the installer inside, and follow the system prompts to finish installation.

7.24.1 · v2rayN Desktop installer

Classic Windows interface

v2rayN WPF

Classic edition

The WPF edition keeps the classic layout and controls. It suits users familiar with the older menus and system tray workflow. Exit the running v2rayN before switching versions so both clients do not modify the system proxy at the same time.

7.24.1 · v2rayN WPF installer
Windows download and installation requirements
Check Recommended Common points of confusion
System architecture Use a 64-bit Windows device. x64 refers to the processor architecture, not the client version.
Interface edition New users should start with Desktop; choose WPF if you prefer the classic layout. Do not run Desktop and WPF at the same time.
Configuration readiness Have a valid subscription URL or complete connection settings ready. Finishing installation does not establish a connection.

Selection order before downloading

Narrow down the platform and architecture first, then choose the client or package format. Following the order below is usually faster than trying packages one by one.

01

Confirm the operating system

For desktop devices, distinguish Windows, macOS, and Linux first; for Android, continue to the mobile client options. The platform determines the client range but not necessarily the final file, since one platform may offer multiple architectures or package formats.

02

Confirm the processor architecture

This page provides x64 packages for Windows; Mac requires a choice between Apple Silicon and Intel; Android mainly offers arm64 and universal packages; Linux provides both x64 and arm64. A mismatched architecture usually prevents installation or launch.

03

Confirm the package format or interface edition

On Windows, choose between Desktop and WPF; on Linux, choose between deb and rpm. This step concerns interface technology or package management, not the protocol parameters in the subscription URL, and it will not automatically improve node connectivity.

04

Keep the existing configuration before upgrading

If a client is already installed, record the current subscription groups, routing, DNS, system proxy, and TUN settings first. After upgrading, verify that the existing configuration loads correctly before trying new settings one at a time. Changing several variables at once makes connection problems harder to isolate.

Configuration flow after installation

Installing the client is only the preparation stage. Usability depends on the subscription content, node parameters, proxy interception method, and local network conditions.

Import the subscription

Use a subscription URL from a trusted source, add it to a subscription group in the client, and run an update. Updating the subscription only means that the client retrieved and parsed the configuration; it does not mean every node can establish a connection.

Confirm that the expected entries appear in the list and that the update completed without obvious network or parsing errors.

Select a node

Select one node with complete parameters for a real connection test; do not modify routing and DNS in bulk at the same time. Connection testing is different from download speed testing, and its result cannot replace real access verification.

Confirm that the client logs show a normal connection process, then check whether the target app actually uses the proxy.

System proxy

The system proxy suits browsers and desktop apps that follow the operating system’s proxy settings. Coverage depends on app behavior; enabling it does not mean every process will automatically use the client.

Use this first to verify browsers and typical desktop software. Apps with their own proxy settings must be checked separately.

TUN mode

TUN routes a broader range of traffic through a virtual network interface. It usually requires additional permissions and is affected by routing, DNS, and system network components. Verify separately first with the system proxy, then decide whether TUN is needed.

Useful for apps that do not read the system proxy. Preserve the original settings and prepare a rollback plan before enabling it.

Verify the result

Cross-check the client logs, real browser access, and the target app’s behavior. Testing one change at a time makes problems easier to locate than changing the node, DNS, routing, and proxy mode all at once.

Confirm that network settings return to their previous state after closing the client or clearing the system proxy.

Common download questions

This section covers package selection and first-configuration questions. Expand a question to read the recommended troubleshooting order.

Should Windows users download the v2rayN Desktop or classic WPF edition?

Choose Desktop for the newer cross-platform interface; choose WPF if you know the classic Windows interface or want to keep the familiar workflow. Both target similar subscription and proxy configurations, but their layouts and some controls may differ.

Do not run both editions at once. Exit the current client before switching, and confirm whether the system proxy has been cleared or will be taken over by the new client. If an upgrade causes problems, first check whether the original subscription updates successfully, then check routing, DNS, and proxy mode. Do not mistake interface differences for a node failure.

How should I choose between the Android arm64 and universal versions?

Most mainstream Android phones released after 2015 should use arm64. A single-architecture package contains only the components needed for that architecture, making the choice more targeted. Use universal if you cannot confirm the processor architecture or the arm64 package is reported as incompatible.

The universal edition is not a feature-complete premium version; it mainly supports a wider range of device architectures. Package architecture does not change the subscription protocol or determine connection speed. After installation, import valid settings, grant VPN permission, and manage background restrictions as needed.

Which macOS package should I choose: Apple Silicon or Intel?

Choose Apple Silicon for devices with Apple M-series chips and Intel for devices with Intel processors. Check the Chip or Processor entry on the system device information page before downloading.

Both packages use the DMG format, but their internal program architectures differ. Do not decide based only on the file extension. On first launch, follow the system prompts for app permissions, then import the subscription and verify one proxy method.

Should Linux users choose deb or rpm?

Choose deb for Debian, Ubuntu, and derivatives; choose rpm for Fedora, RHEL-based systems, and distributions using RPM package management. The desktop environment name is not a reliable criterion; use the distribution’s package management system.

After confirming the format, check the processor architecture as well. Most desktop PCs use x64, while ARM desktops and development boards may use arm64. If system information shows aarch64, it generally corresponds to the arm64 package on this page.

Why can’t I connect immediately after installation?

The client package provides only the graphical interface and runtime components; it does not include a personal subscription or connection parameters. After installation, import a valid subscription or complete configuration, select an available node, and choose the system proxy or TUN according to the target apps.

During verification, first check whether the subscription updated successfully, then whether the client logs show a connection, and finally whether the browser and target app can access the network. A successful test does not mean every app is using the proxy, because apps read system proxy settings differently.

v2rayN download