DownloadsChoose your OS, then your architecture

V2Ray client downloads

Choose v2rayN for desktop and v2rayNG for Android. Find the right download by operating system, processor, and package format, then import a subscription.

Free to use Open source GUI configuration

Choose a package by platform

Each of the four platform sections lists the relevant package options. The primary button is the usual choice; other architectures and the classic interface are available alongside it.

Windows downloads

Both packages are x64. Start with Desktop for a new installation; consider WPF if you’re already familiar with its classic interface.

v2rayN

Windows · x64 · 7.24.1
Recommended

Desktop uses a next-generation cross-platform UI. WPF is the stable classic edition, with a familiar Windows desktop layout.

Extract the files before installing. Both downloads are ZIP archives. After downloading, extract the entire archive in your file manager, then open the installer and instructions in the extracted folder. Don’t launch the installer from the archive preview. Make sure your account can read and write to the folder, and avoid placing configuration files in a protected system directory.

Desktop and WPF differ mainly in their UI technology and layout; neither is inherently faster when connecting to the same server. Choose based on your preferred workflow, system compatibility, and required settings. If your old setup contains many custom rules, export a backup first and verify each setting in the new interface. Don’t overwrite your only working configuration.

Windows requirements and installation checks

CheckWhat to check
Processor architectureThis page provides x64 packages. Check System type under System Information or About in Settings. These packages won’t install on 32-bit Windows.
Operating system and runtimeUse a 64-bit version of Windows that’s still supported. Check the package notes for the minimum OS version and desktop runtime requirements. If startup fails, install the required dependencies for the matching architecture.
Files and permissionsMake sure you have enough space to extract the files. Standard proxy use and virtual network adapter features have different permission requirements; enabling TUN may require elevated privileges.

If nothing happens when you double-click the app, check Windows error messages, runtime prompts, and client logs. Don’t treat running as administrator all the time as a universal fix. See how to troubleshoot v2rayN startup crashes to distinguish missing dependencies, folder permissions, and corrupted configuration.

What to do after downloading

Handle installation and connection testing separately. Complete each step before moving on so it’s easier to find the cause if something goes wrong.

  1. Install and launch the client

    Confirm the package matches your operating system and processor, then install it using the appropriate package format. On first launch, check the interface, logs, and required permissions; don’t change DNS, routing, and TUN settings all at once. If the app itself won’t start, resolve system dependencies and folder permissions first. Changing subscriptions won’t fix a startup problem.

  2. Import a subscription and select a server

    Add a subscription URL you’re authorized to use under subscription groups, then update it and check the import results. For a manual configuration, verify the address, port, protocol, and transport settings individually. Don’t share subscription links publicly; they may contain personal access credentials. After importing, select the server you want to use.

  3. Enable the proxy and test traffic

    On desktop, start by enabling the system proxy; on Android, authorize the VPN connection. A system proxy only works with apps that follow the system settings, so it may not route traffic from every program. Test the apps you use and check client logs; a toggled-on switch alone doesn’t prove the connection works. Configure TUN and related routes separately if you need a virtual network adapter.

Keep a working configuration before upgrading

The client app, core capabilities, and subscription are separate parts of your setup. An upgrade may change where settings are located or how configuration is stored, but it won’t automatically fix incorrect server-side parameters. Before upgrading, note your client, proxy port, routing mode, and key DNS settings, then quit the app so it doesn’t overwrite files while they’re being saved.

Back up at least your manual servers, subscription groups, and custom routing rules. Backups may contain credentials, so restrict access and don’t store them in a public sharing folder. When moving between interfaces or clients, use import and export features where available, then check that all fields carried over. Don’t assume folders can be swapped just because they have the same name.

Check the package version separately from the card

The version shown on a card comes from app-level information, while download links are updated for individual platform packages. These fields may be published at different times, so a filename may not match the card. To confirm a package version, check the downloaded file and the version shown in the installed client. Don’t assume a single version label means every platform package is up to date.

After updating, test the connection with a simple configuration you know works, then restore your custom rules. If something goes wrong, note the full error, OS version, and package type, then check for changes to dependencies and permissions. For core differences and settings across three clients, see the client selection guide. For protocol names and network modes, see the glossary.

Download and installation FAQs

First identify whether the issue occurs during download, installation, startup, or connection, then follow the relevant steps.

Which Windows package should you choose: Desktop or WPF?

For a new installation, choose Desktop, which uses the next-generation cross-platform interface. If you prefer the classic Windows layout, choose the stable WPF edition. Both downloads are x64 packages, so the interface name does not indicate processor compatibility. Before switching, export your subscriptions, servers, and custom rules. Don’t reuse an active configuration directory directly.

Should you download the Android arm64 or universal version?

Most mainstream phones released after 2015 are best suited to arm64, but confirm that the device’s operating system supports 64-bit apps. If you can’t confirm the architecture, or the arm64 package reports incompatibility, try the universal version. It still requires an operating system that meets the client’s minimum requirements. Before installing, check the OS version, available storage, and permission to install from the selected source.

Why can’t I connect after installing the client?

The client manages configurations and forwards traffic; its installer does not include a working subscription or server. Add a subscription or connection details you’re authorized to use, import them, select a server, then enable the system proxy or authorize the VPN connection. If the connection fails, check the logs first instead of repeatedly switching installers.

What should I back up before updating the client?

Save your subscription groups, manually added servers, custom routing rules, and DNS settings, then quit the client. Backups may contain subscription URLs and credentials, so store them somewhere access is restricted. After updating, check the proxy port, routing mode, and TUN settings. Don’t assume every interface version can reuse the same configuration directory.

The version shown on the download card differs from the filename. Which should I trust?

The version shown on the card comes from an app-level version field, while the download URL comes from a platform package field; the two may not be updated at the same time. To identify a package’s version, check the downloaded filename and the version shown in the installed client. The card alone doesn’t confirm that packages for every platform have been updated.

What should I do if macOS says it can’t verify the developer?

First confirm the download source and processor architecture. After trying to open the app, check Privacy & Security in System Settings and use the option macOS provides to allow it, if appropriate. Managed devices may require administrator approval. Don’t disable system-wide protections just to run the client. Confirm network permissions and system proxy authorization separately.