v2rayN · v2rayNG · v2flyNG

V2Ray Client Downloads
Choose a Platform and Installer

For desktop, choose v2rayN; for Android, start with v2rayNG. Confirm your operating system, then select the installer for your processor architecture.

Free to use Open source Graphical interface

Windows installers

Two x64 editions are available. Choose the one that suits your workflow; there's no need to download both for your first install.

v2rayN

v2rayN Recommended

7.24.1

Desktop uses a newer cross-platform UI; classic WPF provides the familiar, stable Windows interface. Both are GUI clients, but the menus for subscription import, system proxy, and routing may be in different places.

Both downloads are ZIP archives. Once downloaded, extract the files and follow the installer instructions inside. Don't launch the app from the archive preview.

System requirements and edition selection

Before installing on Windows
CheckWhat to do
Processor architectureBoth downloads on this page are x64. Go to Settings → System → About and check System type to confirm your system isn't 32-bit.
System compatibilityUse a 64-bit Windows version that is still supported. Check the selected release's notes and installer prompts for specific minimum versions and runtime requirements.
Runtime requirementsIf startup reports that the .NET desktop runtime is missing, install the runtime specified for your edition. Don't choose a different major version based on the name alone.
PermissionsRun with standard permissions for the system proxy. If you enable TUN, check the client prompts for administrator permissions and virtual network adapter components.

If you're new to v2rayN, start with Desktop. If you already know the WPF menu layout, you can stick with the classic edition. The interface edition doesn't determine protocol compatibility: connections also depend on configuration fields, core support, and server settings. Window appearance alone can't tell you whether a server will work.

Extract the files to a separate, writable folder rather than a protected system directory. After installation, open the main window and check that sections such as Subscription groups and Settings appear correctly before importing a configuration. If the window closes immediately, note the error message; don't repeatedly overwrite the original folder.

To connect for the first time, add a subscription under Subscription groups, update it, and select a profile you're authorized to use. Then choose Automatically configure system proxy from the system proxy menu. Keep the default routing and leave TUN off for now to make troubleshooting simpler. For step-by-step instructions, see the Getting Started Guide.

Configuration steps after installation

The installer provides the client, not a usable server configuration. To get started, you'll need a subscription URL or share link you're authorized to use. The subscription provides configuration; the client runs locally, and they update independently. Reinstalling the client usually won't fix an expired subscription URL.

  1. Import a configuration. On desktop, find Subscription groups; on Android, enter the URL under Subscription group settings and update it. Check that the configuration appears. If the list is empty, troubleshoot the subscription URL and parsing result first rather than changing DNS.
  2. Select a profile. Make sure the selected entry is the one you expect. Protocol, transport, and security settings should come from the original configuration; don't fill them in based on the name. Extensions vary between cores, so check settings when migrating a configuration.
  3. Connect. On desktop, start with Automatically configure system proxy. On Android, approve the system VPN request. Keep the default routing and run only one client that takes over network traffic to avoid mistaking a port conflict for a server problem.
  4. Test and adjust. Verify the connection with the apps you need, then adjust routing, DNS, or TUN one at a time. Note the original settings so you can restore a known-working setup if something goes wrong.

In-place upgrades and switching clients

Before upgrading, use the client's export or backup feature to save your configuration and make sure you can find the backup. Quit the old program before running the installer; on desktop, confirm its tray process has also exited. Running both versions can cause them to compete for listening ports or repeatedly change system proxy settings, making it look like you're connected when apps can't access the network.

Upgrading the same client isn't the same as switching from v2rayNG to v2flyNG or from WPF to Desktop. Before changing clients or editions, check supported import formats. Prefer importing a subscription or standard share link, and don't overwrite another client's data directory. Record custom routing, DNS, and outbound settings separately, then restore them one at a time.

If you only need to restore everyday connectivity, start with a minimal configuration and confirm the basic connection works before restoring complex rules. For certificate errors, check the system time and server name. For subscription parsing failures, check the URL and format. These issues usually need to be diagnosed from the error message, not by repeatedly changing installers. See Troubleshooting or the Getting Started Guide.

Download and installation FAQs

First identify whether the issue is package selection, installation, or connection setup, then follow the relevant steps.

Windows Desktop or WPF: which edition should you choose?

If you're new to v2rayN, start with Desktop, which uses a newer cross-platform interface. Choose WPF if you prefer the classic Windows layout. Menus and runtime requirements may differ, so export your configuration before switching and test one edition at a time.

Android: should you download arm64 or universal?

Most phones released since 2015 support arm64, but confirm that your system can run 64-bit apps. Try the universal APK if you don't know your device's architecture or the arm64 package is reported as incompatible. If installation fails, check the Android version, available storage, and whether an installed app has a conflicting signature.

Why doesn't the version shown on the card match the installer filename?

The card version and architecture-specific download links come from different manifest fields and may update at different times. The current v2rayNG version field is 2.2.6, while the filename is 2.3.11. Check the downloaded file and the app's About page to confirm the installed version; don't judge compatibility by the card number alone.

Can I connect right after installing the client?

The installer doesn't include a usable server configuration. Get a subscription or share link you're authorized to use, import it into the client, and select a profile. Then configure the system proxy or approve the Android VPN connection. Start with the default routing, and adjust DNS and TUN only after confirming the connection works.

Do I need to uninstall the old version before upgrading?

Back up your configuration and quit the old version first. When possible, upgrade in place using an installer from the same source with the same signing identity. Before switching clients, interface editions, or installation sources, check the data directory and supported import formats. If Android reports a signature conflict, export any recoverable configuration before taking further action.

What should I do if a download link won't open?

Check your browser's download history to see whether the download never started, was interrupted, or the installer failed. Confirm your connection, reload this page, and try again. If an existing proxy is interfering, quit the client and restore your usual network settings. Don't guess other installer URLs by changing filenames.