Choose by operating system and processor architecture

V2Ray Client Download

Choose v2rayN, v2rayNG, or v2flyNG, then download the matching version for your platform, processor architecture, and package format. Prefer v2rayN on desktop systems and v2rayNG on Android.

Windows · v2rayN macOS · v2rayN Android · v2rayNG / v2flyNG Linux · v2rayN

Download by platform client

Switch platforms first, then review each card's version differences, architecture notes, and system requirements. Download links and the current release are updated from the same-source release list.

Top desktop choice

Download v2rayN for Windows

v2rayN provides desktop tools for subscription management, server selection, the system proxy, routing rules, and connection logs. Choose Desktop for a first installation; choose WPF if you want the classic Windows interface and familiar workflow.

Windows requirements and selection guide

Check Recommendation What to do
System type 64-bit Windows Check the system type under “Settings → System → About”.
Interface edition Choose Desktop for a new installation Choose WPF if you need the classic menus and familiar workflow.
Installation permissions Allow installation for the current user If the system asks for permission, complete the installation according to the prompt.
First launch Import a subscription before enabling the proxy Update the subscription and select a server before setting the system proxy mode.

Client and package selection order

Use the order “platform → client → architecture → package format” to reduce download mistakes and repeat installations.

  1. Confirm the operating system first

    Choose v2rayN on Windows, macOS, and Linux desktops. Prefer v2rayNG on Android, and choose v2flyNG when the configuration explicitly uses the V2Fly core. Package formats are not interchangeable across platforms.

  2. Then confirm the client and interface edition

    Windows v2rayN offers Desktop and WPF interfaces. Desktop is the new cross-platform UI for fresh installations; WPF is the classic, stable interface for users keeping a familiar workflow. The two Android clients mainly differ in their core families.

  3. Read the processor architecture

    On macOS, check the chip or processor field in About This Mac. Mainstream Android devices usually use arm64; choose universal when uncertain. On Linux, look for x86_64, amd64, aarch64, or arm64 in the system information.

  4. Match the package format

    macOS uses DMG and Android uses APK. Linux also requires deb or rpm according to the distribution. After downloading, open the package using the operating system's standard installation process; do not import the package as a client configuration file.

Post-install configuration order

The client is only the entry point for configuration and connections. After installation, import a subscription, select a server, set the proxy mode, and verify the connection status.

Step 1

Import a subscription or single configuration

Copy a valid subscription URL, add a group in the client's subscription manager, and update the subscription. For a single server configuration, import it from the clipboard or enter the protocol, address, port, and authentication details manually.

Step 2

Update the list and select a server

After the update finishes, confirm that the server list is populated. Choose a server based on protocol compatibility, regional needs, and connection tests rather than its name alone.

Step 3

Set the system proxy mode

On desktop, select a server first and then enable the system proxy. On Android, confirm network connection permission when prompted after starting the connection. For split routing, begin with the client's preset rules and add custom entries gradually.

Step 4

Check status and runtime logs

Test the connection with a commonly used network app. If access fails, check the subscription update, selected server, system time, and proxy switch in order, then review the connection stages and errors in the logs.

Download and installation FAQ

Straight answers about version selection, processor architecture, package formats, and the first connection.

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

Choose Desktop first: it uses a new cross-platform interface and suits fresh installations. Choose classic WPF if you already use WPF or want its familiar workflow. Both manage subscriptions, routing rules, and the system proxy; installing both is unnecessary.

How do I choose between the Apple Silicon and Intel package on macOS?

Open “About This Mac” from the system menu and check the chip or processor field. Choose Apple Silicon for an Apple M-series chip and Intel for an Intel processor. Do not rely only on the device appearance or purchase year; the processor field is more accurate.

Should Android users download the arm64 or universal version?

Most mainstream Android phones released after 2015 should use arm64. It is smaller and built for common 64-bit hardware. If you cannot identify the architecture or arm64 will not install, choose the more widely compatible universal version.

How should I choose between v2rayNG and v2flyNG?

Android users should generally start with v2rayNG, which uses the Xray core and suits common subscription configurations. Choose v2flyNG when a configuration specifically requires the V2Fly core or you need to test compatibility across cores. Subscription behavior may differ between the clients depending on the protocol and configuration fields.

Should Linux users download a deb or rpm package?

Choose deb for Debian, Ubuntu, and derivatives; choose rpm for Fedora, RHEL, and compatible distributions. Also check the processor architecture: x64 for standard x86-64 computers and arm64 for ARM devices. The package format and architecture must both match.

Why can't I connect immediately after installing the client?

After installation, import a valid subscription or add a server manually, then select an available server and enable the system proxy. For first-time setup, update the subscription, select a server, test the connection, and check the proxy status in order; if problems occur, review the runtime logs in connection order.