Graphical client Free to use · Open source

Download V2Ray Clients

Choose your operating system, then select the processor architecture.

Use v2rayN on desktop and v2rayNG on Android. Choose v2flyNG if you already rely on V2Fly configurations. Installers don't include subscriptions or nodes; after installing, import your configuration and set how traffic is routed.

Already installed a client? Read the subscription setup guide →
v2rayN

v2rayN

Recommended for desktop 7.24.1

Windows x64 installer. Choose one of the two editions, fully extract the downloaded ZIP, then run the installer inside.

Desktop edition

A next-generation cross-platform interface, ideal for first-time installs and anyone who wants a similar workflow across desktop operating systems.

Download Desktop · x64 ZIP archive · includes installer

Classic WPF edition

The stable classic edition retains the traditional Windows layout. A good choice if you're familiar with the older menus and server list.

Download Classic WPF · x64 ZIP archive · includes installer

Windows installation requirements

CheckBefore you install
System and architectureFor Windows x64. Check System type under Settings → System → About. On ARM devices, verify x64 emulation and dependency compatibility separately.
Runtime dependenciesInstall any required .NET runtime components as prompted by the installer. Having the SDK installed doesn't guarantee the desktop runtime is available.
Files and permissionsExtract the files to a writable folder before installing. The system proxy is usually sufficient for everyday use; TUN drivers or network settings may require administrator permission.

Choosing between Desktop and WPF

Both downloads are v2rayN, not separate subscription services. Desktop's main difference is its next-generation cross-platform interface; classic WPF keeps the traditional Windows workflow. Choose based on your preferences and compatibility needs—not on expected node speed. The protocol, remote server, and local network are what influence connection performance.

Before switching editions, save your subscription URLs and export any custom routing rules. Exit the current client and make sure its tray process has stopped before opening the new one. Don't copy every file from the old folder into the new installation directory, as that can mix outdated settings or dependencies. On first launch, update your subscriptions and select a node, then enable automatic system proxy configuration. If you need to route traffic from apps that ignore the system proxy, review the TUN settings.

Three setup steps after installation

Downloading installs the app; subscriptions and proxy settings determine whether it can connect.

See the step-by-step guide →
  1. Import a subscription and update the group

    Get a subscription URL from a service you're authorized to use, create a subscription group in the client, enter the URL, and update it. Adding a group and updating its nodes are separate steps; saving the URL alone won't create selectable nodes. If the list is empty, check the group filter, subscription expiry, and update log. Don't add random configurations to a group you use regularly.

  2. Choose a node and route traffic

    Select the node you want, then configure the system proxy or start an Android VPN connection. The system proxy determines which apps send requests to the client; routing rules determine how requests that reach the client are forwarded. These are separate settings. A preset such as “Bypass mainland China” only affects traffic already routed through the client; it doesn't automatically capture traffic from every app.

  3. Test the connection, then configure TUN

    First, test the basic connection in a browser and check the client log for configuration or handshake errors. Once the connection works, enable TUN if needed. Don't change DNS, routing, the core, and subscription all at once. Keep a known-working configuration and change one setting at a time to pinpoint the cause of any issue.

Back up settings before updating

Updating the client and updating a subscription are separate tasks. A client update replaces the app and bundled components; a subscription update refreshes the node list. If a node stops working, update the subscription and check the service status first. Check the client version if you suspect an interface or protocol compatibility issue. Reinstalling repeatedly isn't a general fix for network problems.

Before installing over an existing version, save your subscription groups, custom routes, DNS options, and app routing settings. Keep exported files somewhere you control rather than uploading them to a public sharing site. After updating, make sure your settings are intact and test a frequently used node, then restore any extra TUN or local network options.

If something goes wrong, save the error details from the log, then use the FAQ to narrow it down to installation, subscription, or connection issues. If you haven't chosen an Android client yet, the core and protocol details in the client comparison are more useful than comparing installer sizes alone.

Download and installation FAQ

Check installation requirements first, then troubleshoot connection settings.

Which should I choose: the Windows Desktop or classic WPF edition?

For your first install, choose the Desktop edition with its next-generation cross-platform interface. If you prefer the traditional Windows layout, choose the stable classic WPF edition. Both are graphical v2rayN clients. Back up your subscriptions and custom rules before switching, and don't run both editions at once, as they may compete for the same local ports.

Should I download the Apple Silicon or Intel build for my Mac?

Open About This Mac from the Apple menu. If the Chip field shows an Apple M-series chip, choose Apple Silicon. If the Processor field shows Intel, choose the Intel build. Match the installer to your actual chip, not your Mac's size or purchase year.

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

The arm64 package is for 64-bit ARM devices. Most mainstream phones released since 2015 should use it, but confirm that your device supports this architecture. If you can't verify the architecture or the arm64 package is incompatible, try the universal build. It includes components for more architectures, but may not support older Android versions.

Do I need a subscription after installing the client?

You'll need a working subscription URL or node configuration. The installer contains only the client, not server nodes. After installing, import a subscription you're authorized to use, update the group, and select a node. Then configure the system proxy or connect through Android VPN. Subscription URLs may contain credentials, so don't share them publicly.

What should I check if the installer won't download or install?

First check that the operating system, processor architecture, and package format match. Then confirm the download is complete, there's enough disk space, and review any specific permission or dependency errors. Fully extract Windows archives before running the installer. On Linux, use the system package installer to check dependencies. For Android update conflicts, back up your settings and check the app signature and installation source.