CLIENT PACKAGES / STABLE

V2Ray Client Download: Choose a package by platform

Use v2rayN on desktop systems and v2rayNG on Android; choose v2flyNG when you need the V2Fly core. Before downloading, confirm the operating system, processor architecture, and package format to avoid an architecture mismatch during installation.

Free forever Open source Graphical client Stable release
PLATFORM SELECTOR

Choose an operating system and client

Switching platforms updates the page URL. Copying a link with a platform marker and reopening it will return you to the matching download section. Each client card lists package differences and supported architectures.

WINDOWS / X64

Windows:v2rayN

Windows offers Desktop and classic WPF interface editions. For a new installation, start with Desktop; if you are familiar with the traditional v2rayN interface, shortcut menu, and settings locations, choose WPF. Exit any older client before installing to prevent configuration files from being locked.

Windows system requirements and selection guide

Check Recommendation Details
Processor architecture x64 The Windows packages on this page target common 64-bit Intel and AMD processors.
Edition selection Desktop first Choose Desktop for a new installation; choose WPF when you need the classic interface and familiar menu paths.
Upgrade preparation Exit the old edition and record your settings Save your subscription URLs, routing mode, and custom rules before upgrading, then verify each item after installation.
PACKAGE DECISION

Package selection rules

Client name, operating system, package format, and processor architecture are four separate conditions. Identify the platform first, then the client, and finally verify the architecture and package format; this is more reliable than guessing from the filename alone.

01

Choose the client first

Use v2rayN on Windows, macOS, and Linux. For everyday Android use, start with v2rayNG; switch to v2flyNG only when an existing configuration requires V2Fly core behavior. The two clients may use different data directories and settings structures, so do not directly overwrite one app's directory with the other's.

02

Then identify the processor architecture

In this guide, x64, amd64, and x86_64 refer to common 64-bit Intel or AMD desktop processors; arm64 and aarch64 refer to 64-bit ARM architecture. Architecture is determined by the processor, not by interface language, screen size, or memory capacity.

03

Finally, confirm the package format

macOS uses dmg, Android uses apk, and Linux uses deb or rpm according to the distribution. The two Windows zip packages contain the Desktop and WPF installers respectively. After downloading, open the package through the system's normal installation process; do not run the program long-term directly from inside the archive.

AFTER DOWNLOAD

Installation and first launch after downloading

Installation only means that the client has been added to the system; subscriptions, nodes, routing, and the system proxy still need to be configured in order. Complete one step before moving to the next so that any issue is easier to locate.

A

Close old processes and keep configuration notes

If an older version is installed, exit it from the client menu, then confirm that no process remains in the taskbar or system status area. Record the current subscription groups, active node, proxy mode, local listening port, and routing settings. Direct installation over the old version usually preserves data, but notes still help compare fields across versions.

B

Finish installation and check the launch location

Complete the installer on desktop systems and confirm the app through the system installation flow on mobile devices. On first launch, check the client version and data directory before deciding whether to import an old configuration. If the system reports an architecture mismatch, return to this page and choose the correct architecture instead of repeatedly trying the same file.

C

Import a subscription and update it

Open subscription management, add the subscription link, save it, and run an update. If the node list is empty, check that the URL is complete, that group filters are not hiding results, and that the update actually finished. Do not repeatedly switch system proxy modes before a node list has been generated.

D

Choose a node, routing mode, and proxy status

Select a node from a subscription group, then choose a routing mode for your use case. For the first test, keep settings as simple as possible: confirm that the client can establish a connection before enabling TUN, custom rules, or LAN sharing. Changing several switches at once makes troubleshooting harder.

Need the full configuration walkthrough?

The quick-start guide walks through subscription import, node selection, proxy mode, and connection checks in order.

Open the quick start
DOWNLOAD FAQ

Common download and installation questions

These questions cover edition branches, processor architectures, package formats, and upgrade paths. For subscription imports, connection status, and routing settings, see the FAQ and quick-start pages.

Should Windows users choose v2rayN Desktop or the WPF edition?

The Desktop edition uses a modern cross-platform interface and suits new installations or users seeking a consistent desktop experience. The WPF edition retains the classic Windows interface for users familiar with the older workflow and traditional settings layout. Both handle the same core configuration tasks; do not run them simultaneously, or system proxy and local listening ports may conflict.

How do you tell Apple Silicon from Intel on macOS?

Open About This Mac from the system menu and check the chip or processor field. Choose the Apple Silicon package for Apple M-series chips and the Intel package for Intel processors. The purchase year is only a supporting clue and should not replace the system field.

Should Android users download arm64 or the universal edition?

Most mainstream Android phones released after 2015 use 64-bit ARM processors, so arm64 is usually the best choice. Use the universal edition if the device architecture is unknown or the arm64 package reports incompatibility. The universal edition supports more architectures; it does not provide extra features.

Which should you choose: v2rayNG or v2flyNG?

For everyday Android use, start with v2rayNG, which uses the Xray core and supports common protocol configurations. Choose v2flyNG when you need V2Fly core behavior or an existing configuration depends on V2Fly. Compatibility differs between the two, so record the original settings before switching.

Should Linux users choose deb or rpm?

Debian, Ubuntu, and their derivatives typically use deb; Fedora, Rocky Linux, AlmaLinux, and other RPM-based distributions use rpm. You must also choose x64 or arm64 based on the processor; a correct package format cannot compensate for the wrong architecture.

Do you need to remove the old version before installing a new one?

Usually, you can exit the client and install the new version directly. Before upgrading, export or record your subscriptions, routing mode, and custom settings. When crossing several major versions, compare the new interface for configuration-field and data-directory changes. If something goes wrong, first determine whether the program failed to start, the configuration failed to migrate, or the subscription update failed.

Connection and configuration issues

Subscription import failures, empty node lists, TUN mode, and system proxy differences are covered on the FAQ page.

Go to the FAQ
V2Ray Client Download