Choose a client and package

V2Ray client downloads

Choose your operating system, then your architecture. Use v2rayN on desktop, v2rayNG on Android, or v2flyNG as an alternative core option.

Free to use Open source Compare the three clients →

Windows:v2rayN

Both installers below are for x64 systems. For a first install, consider the desktop version; choose WPF if you prefer the classic workflow.

v2rayN

Windows · x64 · 7.24.1

Recommended
Download Desktop · x64

A newer cross-platform UI, suited to first-time users and those who want a consistent experience across desktop systems.

Download Classic WPF · x64

A stable classic edition with a WPF interface, suited to users familiar with the traditional server list and settings layout.

The download is a ZIP archive. Extract all files before running the installer, following the package’s folder structure. Don’t launch it from the archive preview.

System requirements and installation

Windows installation requirements
CheckWhat to look forInstructions
System architecturex64 WindowsCheck System type under Settings → System → About. Don’t rely on the computer’s brand or model alone.
Windows compatibilityA Windows version supported by the current releaseCheck the installer and release notes for supported Windows versions and runtime requirements. Verify compatibility before installing on an older system.
Installation environmentWritable folder and enough free storageExtract all files and install any required runtime components as prompted. Don’t overwrite files from the two interface versions in the same folder.
PermissionsStandard use and TUN require different permissionsYou don’t need administrator privileges for standard configuration. Grant the requested permissions only if you enable the virtual network adapter feature.

The desktop and WPF versions differ primarily in their interface frameworks; that doesn’t mean one is inherently faster for a particular protocol. Protocol support also depends on the selected core and its version. Before migrating existing settings, export or back up servers, subscription groups, and routing rules, then import them into the new interface. Copying program files alone is not a complete data migration.

After installation, make sure the client opens normally before importing your configuration. To proxy browser traffic, check the system proxy status. To handle apps that ignore system proxy settings, consider TUN mode. These options cover different traffic, and a successful install doesn’t mean all app traffic has been redirected.

Configuration steps after installation

Verify the installation, configuration import, and traffic routing separately. Confirm each step works before moving on.

Prepare your configuration

Import a subscription or server settings

The client doesn’t provide a connection endpoint. Get a subscription you’re authorized to use, add its URL to a subscription group, and update it. If you have a single share link, use the client’s clipboard import feature. Subscription URLs may contain account identifiers; treat them as sensitive and don’t post them in public forums or screenshots.

After importing, check that the protocol, transport, and security settings were recognized correctly. VLESS, VMess, and Trojan are distinct configuration types; changing a name won’t convert one into another. If you see an unfamiliar field, check the provider’s instructions and the selected core’s capabilities instead of guessing based on a similar name.

Explore protocol and core technical references →
Test traffic routing

Select a server and traffic-routing mode

Select the active server from the list, then enable the system proxy or connect on your mobile device. The system proxy mainly serves apps that follow system proxy settings; TUN uses a virtual network interface to cover more traffic. They aren’t speed settings. Start with the narrowest routing option that meets your needs, then adjust based on app behavior.

To verify a connection, check that the target service works and review the client logs and routing matches. A latency test doesn’t prove full access, and one failed test doesn’t automatically mean the installer is at fault. Check the configuration, server, DNS, routes, and app proxy settings in order. This is more effective than repeatedly reinstalling.

Follow the steps to make your first connection →

Upgrades and configuration migration

Updating the app doesn’t migrate your data. Check how configuration is stored before changing interfaces, devices, or cores.

Back up settings you can restore before upgrading

Use the client’s export or backup feature to save subscription groups, manually added servers, and custom routes. A subscription can be downloaded again, but that won’t restore manually edited fields. Also note the current core, DNS policy, system proxy mode, and TUN settings so you can check them after upgrading.

Quit the client before running the updater so it doesn’t hold files open. User data may be stored in different locations depending on how the app was installed. Don’t assume uninstalling preserves settings or that copying the program folder creates a complete backup. When migrating to a new device, transfer configuration files only through a trusted method and protect any sensitive data they contain.

Check which settings are active after upgrading

The first time you open the updated client, confirm that your subscription groups and server list are still there. Then check the active server, default route, and system proxy status. A core upgrade may change fields or behavior. Successful import doesn’t guarantee every feature still works as before, so verify using logs and real-world access.

If only one type of app has a problem, check whether it follows system proxy settings before switching installers. If two clients behave differently with the same subscription, check core support and subscription parsing. Once you’ve confirmed the configuration is restored and the connection works, remove old installation files and temporary exports containing sensitive data.

Download and installation FAQs

Answers to common questions about package selection, system permissions, upgrades, and backups.

Does downloading a client give you a working connection?

The client manages configuration and routes traffic; the installer does not include a usable server. You’ll need your own authorized server configuration or subscription. Import it, select a server, then configure the system proxy or TUN mode. Treat subscription URLs as sensitive and don’t share them publicly.

Which should you choose: the Windows desktop or classic WPF version?

For a first install, consider the desktop version, which uses a newer cross-platform interface. Choose WPF if you prefer the classic layout and want to keep familiar workflows. Menus and configuration storage may differ, so export your settings before migrating. Don’t mix program files from the two versions in one folder.

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

The arm64 build is for devices that support 64-bit ARM apps; most mainstream phones released after 2015 are good candidates. The universal build supports more processor architectures but is usually larger. Device age alone doesn’t determine compatibility. If arm64 won’t install, first check whether your system supports 64-bit apps, then try the universal build.

What should you do if installation fails or your system warns you about a risk?

Check the operating system, processor architecture, available storage, and compatibility first, then read the specific warning. On Android, grant install permission only to the app you’ll use to open the package. On desktop systems, follow app-specific prompts. Don’t disable device-wide security just to install, or repeatedly force installation without understanding the cause.

How can you keep subscription and routing settings when upgrading?

Export or back up your configuration in the client. Note the current core, routing rules, and DNS settings, then quit the client before upgrading. Don’t assume the program folder contains all user data. After upgrading, check subscription groups, the active server, system proxy, and TUN status. Remove old files only after confirming the connection works.

The version shown on the page differs from the installer filename. Which should you trust?

The version shown on the page and the download URL come from different fields in the version manifest, so they may briefly differ while it’s being updated. The filename identifies the package type; it doesn’t confirm the installed version. After installation, check the client’s About page. If details differ, verify the app name, platform, and architecture first.

Download V2Ray clients