Client and package selection

V2Ray Client Downloads

Choose v2rayN for desktop and v2rayNG for Android. Check your operating system first, then select the processor architecture. After installation, import a subscription and set up your proxy.

Free to use Open source Installation and setup guide →

Windows packages

Two interfaces, one v2rayN client. The downloads below are for x64 systems.

v2rayN

Recommended 7.24.1
Desktop editionx64 · ZIP

A newer cross-platform UI. A good starting point for first-time installs or if you want a consistent layout across desktop systems.

Download v2rayN Desktop
Classic WPF editionx64 · ZIP

The classic, stable Windows interface. A good fit if you already know your way around the older menus, lists, and settings.

Download v2rayN WPF

Extract the entire archive before running the installer inside. Don’t launch it from the archive preview.

Windows requirements and installation

CheckPackage requirementsHow to check
Processor architecturex64; not a native Windows ARM packageGo to Settings → System → About and check System type
System and runtime64-bit Windows; check the selected client’s release requirements for the minimum version and runtime librariesIf prompted to install a runtime, note the full component name
Installation requirementsA writable folder, enough space to extract, and any required installation permissionsExtract the entire archive first; follow the system prompt to decide whether to grant installation permissions

Desktop and WPF differ mainly in their UI framework and layout, not subscription quality or server capabilities. Choose the interface that suits how you work; there’s no need to run both editions at once. If both client processes use the same local listening port, one may fail to bind. The window may open even though the proxy hasn’t started.

For a first-time install, use a dedicated working folder. Don’t move just the executable and leave the other bundled files behind, or mix the installation folder with a temporary extraction folder. After installation, open settings and check the local listening address, port, and current proxy mode before importing an existing subscription.

When migrating from an older version, use the client’s export or backup feature to save your configuration before installing the new interface edition. Don’t assume that different interfaces or releases use identical configuration folders. After launch, check that your subscription groups, custom routing, and DNS settings migrated correctly. For step-by-step instructions, see the v2rayN initial setup guide.

After installation, check these three settings

Installing a client and connecting through a proxy are two separate steps. Confirm the basics first, then adjust advanced settings.

01 / Configuration

Import a working subscription

The package doesn’t include a ready-to-use server configuration. Add your own configuration using the client’s subscription or import option, then check that the protocol fields are recognized. Subscription URLs often contain credentials, so don’t share the full URL or a QR code in screenshots.

02 / Traffic routing

Choose a proxy mode

On desktop, check the local listening port first, then enable the system proxy if needed. On Android, confirm the VPN connection when prompted. The system proxy doesn’t automatically cover every app, and apps with their own proxy settings may keep using a different port.

03 / Verification

Check the connection and logs

Test with an app that you know follows the proxy settings, then check the client logs for specific errors. Troubleshoot import failures, connection failures, and DNS resolution failures separately. Changing multiple settings at once makes it harder to identify the cause.

Continue to the installation and initial setup guide →

Download and update FAQs

First choose the right package, then troubleshoot startup and connection issues.

Can I connect as soon as the client is installed?

Installing the client alone is not enough to connect. The client reads your configuration and routes traffic; you also need a valid server configuration or subscription URL. After importing it, check the protocol, transport, and security settings, then enable the system proxy or VPN connection as needed.

Which should I choose for Windows: Desktop or WPF?

If this is your first time, try Desktop, which uses a newer cross-platform interface. If you prefer the familiar classic layout, choose the stable WPF edition. Both are v2rayN, and all Windows packages on this page are x64. Back up your configuration before switching, then check that it imported correctly on first launch.

What’s the difference between Android arm64 and Universal packages?

Most phones released since 2015 can usually use arm64, but check which app ABIs your system actually supports. Universal includes multiple architectures, making it a good choice if you’re unsure or the arm64 package is reported as incompatible. It doesn’t add proxy features or fix an outdated Android version.

What should I back up before updating the client?

Back up your subscription groups, custom routing, DNS settings, and any other manually changed configuration. Then exit the client before installing the update. Configurations and subscription URLs may contain credentials, so store them somewhere you trust. After upgrading, check that your listening port, proxy mode, and rules are still in place.

What if the version shown on the download button doesn’t match the filename?

The displayed version and package path are maintained separately and may briefly get out of sync after a release. A filename may not show the package’s full version; check the client’s About page after installation. If the app warns that the update is a downgrade or can’t be installed over the current version, cancel and keep your existing configuration.

What should I check if the download won’t install?

Check your operating system, processor architecture, package format, and available storage. Extract Windows ZIP files completely before installing; choose the macOS DMG for your chip; check whether Android has authorized the current install source; and match the Linux package format and dependencies to your distribution. If it still fails, note the system message and follow its guidance.