CLIENT PACKAGES

V2Ray Client Downloads
v2rayN / v2rayNG

Choose v2rayN for desktop and v2rayNG for Android. Select your operating system first, then match the processor architecture. Subscriptions and server configurations must be imported separately.

Choose a package by platform

Switching platforms preserves the page anchor, so you can bookmark a specific download. Button labels show the architecture or interface edition; double-check before downloading.

v2rayN

v2rayN

Recommended
Windows · x647.24.1

Desktop is the next-generation cross-platform UI; WPF retains the classic, stable interface. For a new installation, start with Desktop. If you prefer the original menu layout, choose WPF.

This download is a ZIP archive. Extract it to a separate folder, then run the installer inside. Don’t launch it from the archive preview.

Windows requirements and installation

CheckWhat to look for
ProcessorBoth downloads on this page are x64 packages. Check your system type under Settings → System → About.
Windows versionWindows 10 or 11 with ongoing support is recommended. Check the package notes for specific compatibility details.
Runtime dependenciesIf startup reports that .NET Desktop Runtime is missing, install the required runtime for the matching architecture.
First launchAdministrator privileges are usually not needed for standard proxy settings. Features such as TUN may require elevated permissions.

The main differences are the interface technology and layout, not the proxy protocols. Don’t rebuild all your server settings just because you’ve switched interfaces. Back up first, then check which configuration formats the new version can import.

AFTER INSTALLATION

After installation: import, select, verify

Downloading installs the app; connecting also depends on configuration and your device’s proxy settings. Work through these steps separately to find problems more easily.

Back up before updating or changing editions

If you already use a client, note your subscription groups, update intervals, system proxy mode, routing rules, and custom DNS settings. A full client export is different from a single share link: the link often contains only the connection details for one profile, not your local routing rules or preferences. Keep backups somewhere you control, and don’t upload files containing subscription URLs to public storage.

Before updating, exit the old app and make sure no background process is still running. After installation, open About to confirm the version, then check that your configuration is intact. If you keep both Desktop and WPF, don’t let them use the same local listening port at the same time. Also avoid having both instances modify the same configuration directory until you’ve checked how they handle data.

Import subscriptions and share links

On desktop, start from the subscription group or clipboard import option. On Android, choose the appropriate method from Add configuration. A subscription URL updates a group of configurations; a share link usually adds a single configuration. Add each in the right place, then update the subscription to retrieve the configuration list. If no configurations appear, check that the URL is complete and current, and that the client supports the returned format.

A client can’t fill in every setting based on a protocol name alone. VLESS, VMess, and Trojan require matching address, port, identity, transport, and security settings; REALITY also requires additional parameters to match. If you see an unsupported field after importing, check which core the client uses rather than repeatedly deleting and reinstalling it. See the v2rayN and v2rayNG setup guide for steps.

Start connection checks with one configuration

Select one configuration, start the connection, and check the system proxy or Android VPN status. Test with an app that explicitly follows proxy settings, and don’t enable multiple proxy management tools at once. A node speed test reflects only its specific test conditions; it can’t replace checking web access, DNS resolution, and the target app. If a test fails, check what it measures before assuming you downloaded the wrong package.

If you can’t open webpages after connecting, check the local port, system proxy, device time, routing, and DNS in that order. Redact identity details and subscription URLs from logs before sharing them. For protocol and core differences, see the protocol guide. For common symptoms, start with the FAQ rather than switching clients repeatedly over a single setting.

Download and installation FAQs

First identify whether the issue involves package format, architecture, system dependencies, or configuration before choosing what to try next.

Should I choose the Desktop or classic WPF edition for Windows?

For a fresh installation, start with Desktop, which uses a next-generation cross-platform interface. If you prefer the classic window and menu layout, choose WPF. Both editions manage proxy configurations, but their interfaces and runtime dependencies differ. Back up subscription groups, routing rules, and custom settings before switching.

Should I download the arm64 or universal version for Android?

Most mainstream phones released after 2015 use arm64, but check which app architectures your device actually supports. If you’re unsure, choose the universal version. If Android reports that the package can’t be parsed or is incompatible, also check the OS version and whether the download completed; changing architectures alone may not fix the issue.

Can I use v2rayNG and v2flyNG configurations interchangeably?

Similar client names don’t guarantee full configuration compatibility. v2rayNG uses the Xray core, while v2flyNG uses the V2Fly core; support for protocols, transports, and security settings varies. For settings such as REALITY, check that the target core supports them before importing and reviewing the configuration.

Why is the configuration list still empty after installation?

The client package contains the app, not server configurations. Import an existing subscription URL or share link, update the subscription, and then select a configuration. Subscription URLs are sensitive—don’t include them in public screenshots. See the setup guide on this site for import steps.

Do I need to uninstall the old version before updating the client?

Usually, exit the old app and back up your configuration, then follow the installer or system package manager’s update process. Uninstalling first is not usually necessary. Android updates require a matching app signature. If signatures conflict, export your configuration and verify the app’s source first; uninstalling may erase local settings.

The version shown on the download page doesn’t match the filename. Which should I trust?

The displayed version comes from the app-level version field, while each download points to a platform-specific package field. These may be updated at different times. Check the release notes for the specific download and the version shown in the app’s About page after installation. Don’t try to find a package by changing the version number in its URL.