Client downloads

V2Ray Download

Choose your operating system, then select the processor and package format.

Use v2rayN on desktop. On Android, v2rayNG is the recommended choice; use v2flyNG if you need its core. The buttons below link directly to the installers. For subscription import and proxy settings after installation, see the Getting Started guide.

Free forever Open source Graphical configuration

Choose a platform

Switch platforms to see the available clients. Match both the package format and processor architecture; don’t choose based on the file extension alone.

v2rayN

Windows · 7.24.1

Recommended

Desktop

A newer cross-platform interface— a good place to start for a first install.

Download Desktop · x64 ZIP archive · includes installer

Classic WPF

A classic, stable Windows interface for users who prefer the familiar layout.

Download WPF · x64 ZIP archive · includes installer

The main differences are the interface technology and layout, not subscription tiers. Both Desktop and WPF require a valid configuration. If you already use v2rayN, note your subscription groups, routing mode, and ports before switching versions. Most new users only need to install one; running both at once may cause port conflicts.

After downloading, find the ZIP file in File Explorer and select Extract All. Open the extracted folder and run the installer—don’t launch it from the ZIP preview. Install to a folder with normal read and write permissions, and use a consistent location for future updates so you can find your configuration and logs.

Windows requirements and installation

CheckDownload optionHow to choose
Processor architecturex64Go to Settings → System → About and check System type to confirm it matches the x64 package.
InstallationExtract, then run the installerExtract the archive first, then follow the installer prompts for runtime requirements and installation location.
Runtime requirementsCheck the installer’s current requirementsIf Windows is outdated or reports a missing runtime, address that first. Reinstalling or changing subscriptions won’t fix it.
Network permissionsGrant permissions for the mode you useSystem proxy and TUN have different permission requirements. Finish the basic setup before enabling advanced modes.

After the first launch, import your subscription and confirm the server list. Then select “Set system proxy automatically.” Start by checking the “Bypass mainland China” routing mode. The system proxy only affects apps that follow system proxy settings. If an app isn’t using the proxy, check its own network settings before reinstalling the client.

Setup after installation

The installer gets the client running. Subscriptions, proxy settings, and routing must be configured separately after launch. Checking them in order makes problems easier to diagnose.

  1. Import a subscription or server configuration

    In v2rayN, open Subscription Group, add a group, enter the subscription URL, and update it. In v2rayNG, add the URL in Subscription Settings, then update the subscription. A single share link isn’t the same as a subscription URL, so use the appropriate import option. After importing, confirm the server list contains an entry and select a server. The client doesn’t include servers, and installing it won’t create a subscription.

  2. Confirm traffic is routed through the client

    On desktop, check the system proxy settings. On Android, approve the system connection request the first time you connect. System proxy and routing are separate settings: the proxy determines whether an app sends traffic to the client; routing determines how that traffic is handled. For initial testing, don’t run multiple proxy tools or change the system proxy, TUN, and custom routing at the same time—it makes it harder to identify the cause of a problem.

  3. Test access, then save your settings

    Select a server and connect, then test with a browser and the apps you actually need. A connection icon alone doesn’t mean every app is using the proxy; check access in each target app. Once everything works, note your proxy mode, routing, and subscription group. Keep these working settings before changing DNS or TUN so you can restore them if something goes wrong.

See the subscription import and first connection guide →

Updates and installation issues

First, identify whether the problem is with downloading, installing, launching, or connecting. An installer that won’t open and a subscription that won’t connect are usually different issues. Troubleshoot the relevant stage instead of downloading the same file again.

Keep a working configuration before updating

Record your subscription URL, group names, and any important custom settings. Subscription URLs may contain personal access credentials—don’t include them in public screenshots or share them with others. Close the running client before updating, and use an installer for the same client and architecture. Before switching versions or download sources, check whether your configuration can be migrated; don’t assume all settings will carry over automatically.

Troubleshoot installation and connection errors separately

If the system reports an architecture mismatch, missing dependencies, or a conflict with the installation source, fix the installation requirements first. If the client launches but subscription updates fail, check the subscription URL and your current network. If the subscription updates but apps can’t connect, check the selected server, proxy settings, and routing. There’s no need to uninstall right away. Keep the exact error message when troubleshooting; it’s more useful than just saying “it doesn’t work.”

Download buttons and file locations

After clicking Download, check your browser’s downloads list to see whether the transfer has started. The save location depends on your browser settings; you can usually open the containing folder from the downloads list. If no file appears, check the browser’s download prompts and your network, then try the same download again. Don’t open an incomplete download with the installer or try to install it by changing the file extension.

V2Ray client download FAQs

Common questions about package selection and first-time installation. Expand a question to see the answer.

Which v2rayN version should you choose for Windows: Desktop or WPF?

For a first install, try Desktop, which uses a newer cross-platform interface. WPF is the classic, stable Windows version for users who prefer the familiar layout. Both downloads are x64; most users only need one.

Which macOS package should you choose: Apple Silicon or Intel?

Open About This Mac from the Apple menu. Choose Apple Silicon if Chip shows an Apple M-series processor; choose Intel if Processor shows Intel. Check your chip type before installing—don’t judge by your Mac’s appearance.

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

Most phones released since 2015 should use arm64, but check which app architectures your system supports. The universal version supports multiple architectures and is useful if you’re unsure or the arm64 package won’t install. It’s usually a larger download.

Do I need to install both v2rayNG and v2flyNG?

Usually, one is enough. v2rayNG uses the Xray core and is the recommended Android option here. v2flyNG uses the V2Fly core for configurations that require it. Check protocol and configuration compatibility for each, and avoid running both connections at the same time.

Should I download the deb or rpm package for Linux?

Choose the package format for your distribution, then select the processor architecture. Debian- and Ubuntu-based systems generally use deb; Fedora- and RHEL-based systems generally use rpm. x86_64 corresponds to x64, and aarch64 to ARM64. Check package dependencies with your system’s installer.

Can I connect right after downloading and installing the client?

You’ll also need to import a valid subscription or server configuration, select a server, and configure the proxy and routing. The client doesn’t include servers. For your first setup, import the subscription, check system proxy settings or connection permissions, then test access in the apps you use.