Installers / OS and architecture

V2Ray Client Downloads

Choose v2rayN for desktop, or v2rayNG or v2flyNG for Android. Check your operating system and CPU architecture before downloading the matching installer.

Free forever Open source Graphical client

The client manages subscriptions, servers, and proxy settings; you’ll need to obtain a working subscription link or server details separately. For a first install, keep the setup guide open and follow the steps.

Windows installer

v2rayN

Top pick
Windows · x647.24.1

Desktop uses a newer cross-platform UI, while classic WPF retains the familiar Windows desktop layout. For a first install, Desktop is a good choice. If you’re used to WPF, you can stick with the classic, stable version.

Download Desktop · x64

Desktop · Newer cross-platform interface

Download classic WPF · x64

WPF · Classic Windows desktop layout

The download is a ZIP archive. Extract all files before running the installer; don’t launch it from the archive preview.

See how to install v2rayN and import a subscription →

Prepare for Windows installation

CheckSelection / requirementHow to check
CPU architectureThis section provides x64 buildsOpen Settings → System → About and check System type
OS compatibilityUse a supported Windows version; check the installer for the minimum requirementCheck for Windows updates and note any runtime requirements
Extraction and folderExtract all files to a local folder you can write toKeep the installer and included files together in the extracted folder
PermissionsUse standard permissions for a regular proxy; TUN may require additional permissionsTest the system proxy first, then configure TUN if needed

System type is a better guide to installer choice than your computer model. If your processor is x64 and you’re running 64-bit Windows, choose the x64 build here. For other architectures, first confirm that your OS can run the software; being able to open this download page doesn’t mean the client will run. The two downloads differ in interface, not speed or server capability.

Close any older client before running the installer. If you’re told a runtime component is missing, check which component and architecture are required; don’t copy runtime files from another computer at random. The included programs and files usually each serve a purpose, so keep the installer’s folder structure intact. Moving only the main executable can leave it unable to find required components.

After opening v2rayN for the first time, import a subscription and select a server before setting up the system proxy. Desktop and WPF may place menu items differently, so use the setting names in a guide rather than relying on button positions. Back up your subscription groups, routing, and DNS settings before switching versions. Close one client before opening the other to avoid both changing the system proxy.

Choosing an installer and first-time setup

Narrow down your choice with three questions before downloading: which operating system the device runs, which CPU architecture the OS uses, and whether you have existing client settings to keep. The operating system determines the platform, the architecture determines the package, and existing settings tell you whether to back them up first. Checking all three is more effective than trying several downloads and helps prevent losing track of existing subscriptions after an update.

Check the architecture before comparing interfaces

On this page, x64, amd64, and x86_64 refer to the same class of 64-bit desktop architecture; arm64 and aarch64 refer to 64-bit ARM. These are not server protocols or speed tiers. The installer must match the device’s runtime environment. Both Windows downloads here are x64; Desktop and WPF differ in interface, not processor architecture.

The Android universal build supports more architectures, but that doesn’t make it the best choice for every device. Phones that support arm64 can usually use the matching build directly; consider universal for older devices, unusual systems, or when the architecture is unclear. On macOS, check the chip listed in About This Mac. On Linux, match both the package format and architecture before installing.

Know the difference between the client, core, and server

v2rayN, v2rayNG, and v2flyNG are graphical clients that organize server details, subscriptions, and proxy options in an interface. The core handles the connection, while the server is the remote endpoint. Downloading a client doesn’t provide a server service. Even after installation, you can’t establish a working connection without valid settings. That’s why you still need to import a subscription after launching the client.

Desktop users usually start with v2rayN. Android users can start with v2rayNG, which uses the Xray core, and consider v2flyNG when they specifically need the V2Fly core. Protocol support varies between cores and versions, especially for subscriptions with specific transport or security settings; check that your settings are compatible. The same protocol name doesn’t guarantee that every extended field can be reused as-is. See the glossary for related definitions.

Make your first connection, step by step

  1. Install and open the client. Check that the main interface displays correctly and that the installer reported no dependency or permission errors. Don’t enable multiple proxy tools at the same time yet.
  2. Import a subscription or a single server. Use the configuration from your service provider and check that the expected entries appear in the group. A successful subscription update only means the configuration was retrieved; it doesn’t mean every server is reachable.
  3. Select a server and choose a mode. On desktop, start with the system proxy. On Android, approve the VPN prompt. Routing rules determine which requests use the proxy, so don’t rely on the toggle alone.
  4. Test a real request. Open an app that should use the connection and check whether it works. If not, review the client logs. Once the basic connection is confirmed, adjust DNS, routing, or TUN.

Updates and migration tips

Before updating, confirm that the current client works and note which proxy mode you use. Use the client’s backup or export feature if available, and save your subscription groups, manually added servers, custom routing, and DNS settings. Configuration storage may change between versions; the same product name doesn’t guarantee that an in-place update will preserve your data.

After backing up, quit the client before running the new installer. On desktop, closing the window may leave the app running in the system tray; use the client’s Quit command. On Android, disconnect the VPN first, then follow the system’s update prompt. After updating, check the version and configuration, then test a known-working server before restoring other advanced settings.

Switching from Desktop to WPF, or from one Android client to another, is a configuration migration. First check whether the target client can import the existing format, then verify that protocol, routing, and DNS fields are intact. You can import the subscription again, but custom groups and local rules may not come with it. That’s why backing up and taking notes matters.

The version shown on the page and the download link come from separate fields in the version list, so they may briefly be out of sync. Check the actual installer filename and the client’s About page to confirm the installed version. Don’t build a new filename from the displayed version or install multiple packages just to make the labels match. Keep your working configuration and update only if needed.

If the connection stops working after an update, compare your settings before and after. System proxy status, selected server, routing mode, and DNS are common sources of change. Adjust one setting at a time and record the result. Changing the core, DNS, TUN, and server settings all at once makes troubleshooting harder. For more details, see subscription management and advanced configuration.

Installation prompts and connection issues

First distinguish between a failed download, a failed installation, and a successful installation with a failed connection. A download failure occurs while the browser retrieves the file. Installation failures often involve architecture, OS version, permissions, or package dependencies. Connection failures point to server settings or proxy status. These are different stages with different causes, so redownloading isn’t the answer to all of them.

The downloaded file won’t open

Make sure the browser finished downloading the file and didn’t leave a temporary file behind. Extract ZIP archives, open DMGs with the system disk image utility, install APKs with the system installer, and use a package installer suited to your distribution for deb and rpm files. Use the right app for each file type; changing the extension doesn’t change the file’s contents. If the browser reports a failed download, use the matching link to download it again.

The installer reports an incompatibility

Note the full installer message and check the architecture and OS version first. On Android, distinguish an architecture mismatch from a signature conflict or an installation permission issue. On Linux, check the package format and dependency versions. On desktop, look for runtime requirements. Don’t delete existing settings or force installation past warnings to get around the message; identify which stage failed before taking action.

The client starts, but I can’t access websites

First check that the device itself is online, the system clock is correct, and the subscription is still valid. Then check the selected server and proxy mode. On Android, make sure another app hasn’t replaced the VPN connection. On desktop, confirm that the app you’re testing actually uses the system proxy. Matching log timestamps to the affected request is usually more useful than relying on a connection icon alone.

If the client opens reliably and the subscription updates, but one server keeps timing out, check that server’s settings and status first. If only some apps are affected, look at their proxy settings, routing, and DNS rather than immediately replacing the installer. Visit the Help Center to find next steps by symptom.

Frequently asked download questions

What else do I need after downloading a client?

You’ll also need a subscription link or server configuration from your service provider. The installer provides the interface and runtime components; it doesn’t create a working server. Install the client, then follow the setup guide to import your configuration, choose a server, and enable the right proxy mode.

Which should I choose: the Windows Desktop or WPF version?

For a first install, Desktop is a good starting point: it uses a newer cross-platform interface. If you prefer the classic Windows layout, choose WPF. Both versions manage servers and subscriptions, but menus and interactions may differ. Back up your configuration first, and don’t enable system proxy in both clients at the same time.

What’s the difference between Android arm64 and universal builds?

The arm64 build is for compatible 64-bit ARM systems. Most mainstream phones released after 2015 are good candidates, but check your device’s actual system architecture. The universal build supports more architectures and may suit devices with unknown architecture or mixed-device use. A 64-bit-capable processor doesn’t necessarily mean the installed OS is 64-bit.

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

The displayed version and installer path are maintained separately and may not update at the same time. Check the actual filename at the download link and the client’s About page after installation. Don’t edit the download URL based on the version shown. Back up your configuration before updating, and keep your current working version if in doubt.

Will updating the client keep my subscriptions and routing settings?

That depends on the client version, installation method, and where it stores its configuration; an in-place install is no guarantee. Before updating, use the client’s backup or export feature, and note your subscription groups, routing, DNS, and proxy mode. Check each setting after the update, then test a server known to work.

The client installed, but websites won’t load. Should I download it again?

Start by checking your local network, system clock, server settings, system proxy or VPN status, and client logs. A successful install only means the program runs; it doesn’t confirm that a server is reachable. Download the installer again only if the installation failed, files are missing, or the client won’t start.