Client downloads

Download V2Ray clients

v2rayN, v2rayNG, and v2flyNG. Choose your operating system, then select a package for your CPU architecture. Setup instructions for desktop and mobile are below the download links.

Choose your device

Platforms and downloads

Compare the clients →

Use v2rayN on desktop systems. On Android, v2rayNG with the Xray core is the recommended starting point; consider v2flyNG if you specifically need the V2Fly core. Your platform selection stays in the page URL, so you can pick up where you left off.

v2rayN

Recommended
Windows · x647.24.1

Desktop version

A newer cross-platform UI and a good starting point for a first install.

Download desktop version · x64 ZIP archive. Extract it before running the installer.

Classic WPF version

A stable classic version for users who prefer the familiar Windows workflow.

Download classic WPF version · x64 Windows-only interface; choose it separately from the desktop version.

Both versions manage nodes, subscriptions, and proxy settings. Their main differences are the interface and supported platforms—not that one is inherently faster. The desktop version uses Avalonia, a cross-platform UI framework; the WPF version retains its Windows-only interface. If your current setup works well, there's no need to switch just for a different interface. If you do switch, back up your settings first, then check your groups and routing in the new interface.

System requirements and setup

CheckWhat to look for
ProcessorThis page provides x64 packages. Check your system type under Settings → System → About.
Windows compatibilityUse a supported version of Windows. Check the installer prompts for the exact minimum version and runtime requirements.
FilesKeep the entire extracted folder; don't move out just one executable.

After installation: checks in order

Open the archive from your browser's downloads, extract all its contents to a writable folder, then run the installer. If Windows reports a missing runtime, check the component name and architecture instead of repeatedly switching client packages to work around the same message. After launching the client, import a subscription or node, select a usable configuration, then choose “System proxy” → “Set system proxy” from the menu.

Before trying another version, exit the current process so the clients don't compete for the same listening port. Before closing a client, you can select “Clear system proxy” to prevent the system from pointing to a stopped local service. If the installation succeeds but you can't connect, check your configuration and logs before reinstalling.

Troubleshooting connection issues after installation →

From installation to connection

Three checks after installation

A client manages configurations and forwards traffic. If the app opens normally, installation is basically complete—but subscriptions, nodes, and proxy routing still need to be checked separately. Follow these steps in order to narrow down problems.

01 · Import configuration

Check your subscription first

Enter a URL you're authorized to use under Subscription Group Settings, save it, then update the subscription. If you're importing a share link, keep the full link intact; messaging apps can insert line breaks or drop characters. Subscription URLs may contain credentials, so don't share them in public screenshots or logs.

After updating, check that nodes appear, then review the group, protocol, and required settings. A successful subscription request doesn't mean a node connection has succeeded. If the list is empty, check the update log first instead of enabling more proxy modes.

02 · Choose how to route traffic

Then set up the proxy

On desktop, select a node and start by testing the system proxy. If an app has its own proxy settings, make sure its port matches the client. On Android, approve the system VPN request when starting a connection. Running another VPN app at the same time may replace the current connection.

Keep routing settings simple at first. Don't change DNS, listening addresses, and multiple routing rules all at once. Change one setting at a time so you can identify what caused the result.

03 · Test the connection

Finally, check access and logs

Test the connection with the website or app you actually need, and check the logs for errors. A node speed test can help narrow down your options, but one successful test doesn't prove that every protocol, destination, and app works. Browser cache and existing connections can also affect what you see.

If you can't connect, note what you were doing and the error message. Check the local listener, proxy settings, node configuration, and server reachability in that order. This is more targeted than repeatedly downloading a different package.

Download and installation help

Common package questions

Should I choose the desktop or classic WPF version for Windows?
If you're new to v2rayN, start with the desktop version, which uses a newer cross-platform interface. If you prefer the familiar Windows layout, choose the classic, stable WPF version. Both downloads are x64 packages. Back up your subscriptions and routing settings before switching, and don't run both versions on the same local listening port.
Which Android build should I choose: arm64 or universal?
Most mainstream phones released after 2015 can use arm64, but check which app architectures your device supports. If Android says the package is incompatible, check your OS version and device architecture first, then try the universal build. It supports more architectures and is usually larger.
Can I connect as soon as the client is installed?
Installation alone doesn't mean you're ready to connect. The client reads your configuration and forwards traffic, but you'll also need a subscription URL or node configuration you're authorized to use. Import it, select a node, then configure the system proxy or start a VPN connection on Android. Verify the result by testing access and checking the logs.
What should I do if a download is interrupted or the package won't open?
Check your browser's downloads to make sure the transfer has finished. If it was interrupted, try the same download link again. On Windows, fully extract ZIP files before running the installer. On other systems, check that the package format and CPU architecture match. If the system blocks installation, read its message before deciding whether to allow it.
Will upgrading the client keep my existing subscriptions and rules?
Whether your settings carry over depends on how the client was installed, where its configuration is stored, and compatibility between versions, so it isn't guaranteed. Before upgrading, use the client's export or backup options to save your settings, then exit the old process. After installing, check your subscription groups, selected node, listening port, and routing mode before resuming normal use.