CLIENT DOWNLOADS

V2Ray Client Download

Choose a package for your system and processor architecture. Use v2rayN on desktop platforms, or choose between v2rayNG and v2flyNG on Android.

Free forever Open source GUI clients Chinese configuration docs

CHOOSE PLATFORM

Choose a client by platform

After switching platforms, the page keeps the relevant anchor so you can reopen or share the current download section.

WINDOWS CLIENT

Windows:v2rayN

Windows offers Desktop and classic WPF versions. For a first installation and the newer interface, start with Desktop; if you already know the traditional v2rayN layout, choose classic WPF.

v2rayN
Recommended

v2rayN

Windows · Current version 7.24.1

v2rayN is a desktop GUI client for importing subscriptions, switching nodes, managing routing rules, and configuring the system proxy or TUN. The two Windows packages share similar configuration logic; the main difference is their UI technology and layout.

PRIMARY PACKAGE

Desktop version

A newer cross-platform UI for first-time installations and users who want a similar workflow across desktop systems.

Download v2rayN Desktop

CLASSIC PACKAGE

Classic WPF version

A familiar, stable Windows interface for users who know the legacy menus, tray controls, and traditional settings flow.

Download classic WPF

Windows pre-installation check

Check Recommendation Selection guide
Processor architecture x64 The Windows packages on this page are intended for common 64-bit desktop devices.
Version choice Desktop first Start with Desktop for a new installation; choose WPF when you need the classic interface.
Configuration preparation Subscription link After installing the client, import a valid subscription and update the subscription groups.

NEXT STEPS

Post-download configuration order

The package is only the first step. Following a fixed configuration order makes subscription, node, and proxy-mode issues easier to locate.

  1. 01

    Install and launch for the first time

    Run the package matching the current system and processor architecture. After the first launch, locate subscriptions, the server list, routing, and logs before changing advanced options.

  2. 02

    Import the complete subscription link

    Keep the subscription address intact when copying it, without extra spaces or line breaks. After importing, update the subscription and confirm that the client creates the server list and subscription groups.

  3. 03

    Choose a node and proxy mode

    Choose an available node first, then enable the system proxy or TUN for your use case. For the initial test, keep the default routing and add split-routing rules only after the connection works.

  4. 04

    Check status and runtime logs

    If the connection fails, first verify the local network and system time, then check the subscription status, node parameters, and key errors in the logs. A systematic check is more effective than repeatedly switching settings.

PACKAGE NOTES

Version, architecture, and update notes

Understand the platform, architecture, and format in the package name before updating or migrating.

ARCHITECTURE

Architecture determines whether a package can run

x64 is common on Windows and Linux desktop computers; arm64 is common on Apple M-series devices, newer Android phones, and some ARM Linux devices. Universal packages usually bundle multiple architectures and suit devices with unclear information.

No architecture is inherently better for client features; it simply needs to match the device. If installation reports incompatibility, recheck the processor architecture before changing subscription settings.

PACKAGE FORMAT

Extensions indicate different installation methods

The Windows page provides ZIP packages, macOS uses DMG, Android uses APK, and Linux provides deb or rpm according to the distribution. These formats differ because operating systems use different installation mechanisms.

Before downloading, verify the platform, architecture, and format together. Linux users should pay particular attention to the distribution’s package system; macOS users should check the chip field first.

UPDATE

Keep configuration details before updating

Before updating the client, record the subscription group names, current routing mode, system proxy status, and custom rules. After updating, confirm the subscription list is complete before restoring advanced settings one by one.

If the new version behaves unexpectedly after launch, do not change the subscription, routing, and proxy mode all at once. Test the basic connection with default settings, then use the logs to determine whether the issue is configuration or the system environment.

SUBSCRIPTION

Assess the client and subscription service separately

The client reads configuration, runs the core, and handles system traffic; the subscription link is maintained by its service provider. Installing the client does not create a subscription or fill in missing server parameters.

When a subscription update fails, first confirm that the link is complete, the system time is correct, and the subscription is still valid, then check the client logs. Visit the troubleshooting page for detailed next steps.

DOWNLOAD FAQ

Common download and installation questions

The answers below cover package selection on this page. For connection, subscription, and routing issues, continue to the tutorials and troubleshooting guide.

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

Choose Desktop for the newer cross-platform interface; choose classic WPF if you prefer the traditional Windows interface and familiar workflows. Both are v2rayN, with similar approaches to importing subscriptions, switching nodes, and configuring the basic proxy.

For a first installation, start with Desktop. Choose WPF only if you clearly prefer the classic interface or need to retain an established workflow. You do not need both versions installed.

How do I know whether to download the Apple Silicon or Intel version for macOS?

Open System Information and check the “Chip” or “Processor” field. Choose Apple Silicon when it shows an Apple M-series chip, or Intel when it shows an Intel processor.

Do not rely only on the device’s appearance, screen size, or purchase year. Similar device names can hide different chips; the fields in System Information are more reliable.

Should Android users choose arm64 or the universal version?

Most mainstream Android phones released after 2015 should use arm64 first. The arm64 package contains only the matching architecture and is usually more compact; the universal version supports a wider range of architectures for devices with unclear information.

If the arm64 package cannot be installed, first confirm that the download is complete and that the system allows installation of the file, then try the universal version. The package choice does not change subscription content.

How should I choose between v2rayNG and v2flyNG?

Most Android users can start with v2rayNG using the Xray core. Choose v2flyNG with the V2Fly core when the subscription service explicitly requires V2Fly compatibility or behavior.

The two clients have similar subscription and basic connection flows, but their core implementations and some advanced features may differ. Do not switch repeatedly just because the names look similar; choose the core direction required by the subscription.

Should Linux users download a deb or rpm package?

Debian, Ubuntu, and derivatives usually use deb; Fedora, Rocky Linux, AlmaLinux, and other RPM-based distributions usually use rpm. After identifying the format, choose x64 or arm64 for the processor.

Most desktop computers use x64, while ARM desktop devices and some development boards use arm64. If unsure, check the architecture name in system settings or the terminal’s system information.

What else do I need after downloading?

After installation, prepare a valid, complete subscription link. Import it in the client, update the groups, choose a node, and enable the system proxy or TUN as needed.

For the initial setup, keep the default routing and verify only the subscription update and basic connection. Once connected, add per-app rules, custom domain rules, or LAN settings gradually so you can identify what caused any change.

Still seeing subscription update failures, node timeouts, or log errors? The troubleshooting guide organizes next steps by fundamentals, installation and configuration, usage tips, and Troubleshooting.

View troubleshooting