Client downloads / Choose a platform

V2Ray downloads and client selection

For Android, we recommend v2rayNG; for desktop, choose v2rayN. Check your operating system and processor architecture before downloading.

4 platforms 3 clients Xray / v2fly cores Free clients · Open-source code

These packages install the client; you’ll need to provide your own subscription URL or connection configuration. If you already have the client installed, export your current configuration before updating.

Downloads by platform

Select a platform tab to view its downloads. The platform selection is saved in the link, so reopening it returns to the same system.

v2rayN

Recommended Windows · 7.24.1

Windows x64 offers two v2rayN downloads: Desktop and classic WPF. For a first install, try Desktop; if you prefer the classic interface, choose WPF.

Desktop edition

Download Desktop · x64

A newer cross-platform UI. A good fit for first-time setup and for users who want a similar interface across desktop systems.

Classic WPF edition

Download classic WPF · x64

The classic, stable edition for Windows. Choose it if you prefer the familiar workflow; some menu names and locations differ from Desktop.

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

Windows requirements and installation

RequirementPackage requirementsWhere to check
Processor architecturex64; not for 32-bit systemsSettings → System → About → System type
Operating systemUse Windows 10 or 11 that still receives system updates where possible; check the installer for the exact minimum version.Settings → System → About
Installation environmentMust be able to extract ZIP archives and write to the installation folder. Follow the installer’s instructions if dependencies are missing.Downloads folder and installer

Exit v2rayN before installing over an existing copy. If the old client has the system proxy enabled, turn it off from the tray menu first to avoid leaving your browser pointed at a local port that is no longer running. After installation, open the client and check that your subscription groups are still there before re-enabling the proxy.

Desktop and WPF are different interfaces, not different subscription services. Choose one; you don’t need to run both to connect. Running two copies that use the same local listening port can cause conflicts. To try the other edition, fully exit the current one and back up its configuration folder separately.

After installation, add your address under subscription groups and update it. Enable the system proxy only if you want your browser to use the proxy. To route apps that don’t honor system proxy settings, see the TUN section in the user guide. System proxy and TUN are separate settings.

Configure the client after installation

Get one configuration working first, then add routing rules, per-app proxying, or TUN. Changing one thing at a time makes problems easier to track down.

Import your subscription, then update it

Open the client’s subscription group menu, add a group, and paste the full URL. Saving the address creates a group but doesn’t fetch profiles; return to the subscription menu and update it, then check the list. Preserve the full URL, including any access parameters. Don’t mistake a shortened URL displayed by your browser for the complete address.

A subscription provides connection configurations; the client runs them. Downloading a client doesn’t create a usable subscription or change the validity period of an existing one. If an update fails, first check that the URL is still valid, then review the logs. Reinstalling the app repeatedly won’t troubleshoot the issue.

See how to import a subscription

Test the connection before configuring routes

Select a profile and connect, then check that the client reports no core startup errors. On Android, check VPN permission; on desktop, check whether the system proxy or app proxy is enabled. Web access also depends on DNS, routing, and the destination service, so one test can’t tell you whether every part of the connection is working.

Once the basic connection works, configure LAN bypass, domain rules, or per-app proxying as needed. Change one type of setting at a time and keep a backup you can restore. For a step-by-step learning path, start with the manual’s core concepts; you don’t need to enable every advanced option during initial setup.

Read the guide, from beginner to advanced

Download and installation FAQ

Start by checking the package type and system requirements mentioned in the prompt. For connection issues, see the FAQ.

Should I download arm64 or universal for my Android phone?

Most phones released since 2015 can use arm64, but check that the system supports 64-bit apps. Choose the universal build if you’re unsure of the architecture or the arm64 package is reported as incompatible. The universal build is usually larger; it does not mean faster connections.

What’s the difference between v2rayN Desktop and the classic WPF edition?

Desktop uses a newer cross-platform UI, while WPF is the classic, stable edition for Windows. For a fresh install, start with Desktop; if you’re used to WPF, you can stick with it. Menus may differ between editions, so back up subscriptions and settings before switching.

Can I connect right after installing the client?

The client reads configurations and establishes connections; it does not include a ready-to-use subscription. After installation, import a subscription URL or configuration you’re authorized to use, update it, then select a profile and connect. On Android, you’ll typically need to approve the system VPN prompt the first time.

Android says “App not installed.” What should I check first?

Check that the package finished downloading, there’s enough free storage, and its architecture matches your device. An update may also fail if the installed app has a different signing key or the new version is older. Back up your configuration, then check the installed version and the new package’s source before taking any further action.

Will updating the client erase my subscriptions or routing settings?

An in-place update of the same app with a compatible signature will usually keep your data, but it’s no substitute for a backup. Before updating, export your configuration and note your subscription groups, routing rules, and local ports. For migration between clients, downgrades, or uninstalling and reinstalling, check configuration compatibility separately.

What if the version shown on the page differs from the one in the installer’s filename?

The displayed version and file path come from separate manifest fields, so they may briefly be out of sync after an update. Check the app version shown by the system installer before installing, then confirm the installed version in the client’s About screen. Don’t edit the download URL or filename based on the page text.