Downloads / OS and architecture

V2Ray Client Downloads

Choose v2rayN for desktop and v2rayNG for Android. Check your operating system first, then select the processor architecture and installer format.

The client manages settings and connections; a usable server configuration must be imported separately. For your first install, follow the setup guide.

Windows installer

Two interfaces for the same client. Both downloads below are x64; check your system type before downloading.

v2rayN

Recommended 7.24.1

Desktop uses a modern cross-platform UI. WPF is the classic, stable edition for users who prefer a traditional desktop layout.

Desktop edition

Start here for your first install.

Download Desktop · x64

ZIP archive. Extract it after downloading, then run the installer.

Classic WPF edition

Keeps the familiar Windows interface and workflow.

Download classic WPF · x64

You don't need both editions. Choose the interface you prefer.

System requirements and installation prep

CheckWhat to look for
Operating systemWindows desktop. Check the current installer for the minimum supported Windows version.
Processor architectureBoth downloads are x64. Check System type under Settings → System → About.
Installer filesExtract the ZIP first. Keep the full extracted folder, then run the installer inside it.
Runtime requirementsIf the installer reports a missing runtime, check which component and architecture it requires. Don't replace program files at random.

Don't launch the app from the ZIP preview. Extract the files to a regular writable folder first, and make sure the installer can access the files alongside it. If the old client is still running, turn off its system proxy and exit before installing to prevent the old and new instances from competing for local ports.

Desktop and WPF differ in interface technology and layout; settings aren't necessarily interchangeable between them. When switching, use the client's built-in export and import features where possible. Check custom routes, subscription groups, and local ports individually. Don't copy the entire old client folder over the new one.

After installation, import your settings and select a server, then confirm the core starts. The system proxy affects apps that use the system proxy settings; it doesn't mean all app traffic is routed through the client. For connection checks and routing options, see the first-time setup guide.

After installation

Import settings and prepare for updates

Downloading is just the first step. Save your settings, confirm the import, then let the client route traffic for the apps that need a proxy.

First-time setup

An empty server list after launching the client means no configuration has been imported yet. Get a subscription URL, share link, or configuration file that you're authorized to use, then import it using the appropriate option in the client. A subscription URL retrieves configuration; it's not a local listening address and shouldn't go in the system proxy server field.

After importing a subscription, update it and check the server list. Entries in the list aren't necessarily reachable: select a server, connect, and check the logs and app access to confirm the settings work. The protocol, transport, and security layer in your configuration must be compatible with one another.

See the setup and connection guide →

Updates and migration

Before updating, export your settings and store the backup outside the app folder. In addition to subscription groups, note custom routes, local listening ports, per-app proxy selections, and system proxy mode. Keeping only the subscription URL usually won't restore all your custom settings.

Exit the old instance before installing the new package. After updating, check that the app starts normally before restoring your settings. If you're switching interface editions or core families, test your existing configuration on its own first. Don't change the protocol, routes, and proxy mode all at once, or it will be harder to identify the cause of a problem.

See protocol and core compatibility notes →

Troubleshoot downloads, installs, and connections separately

If a download fails, check your browser's download history for network interruptions, low disk space, or system download restrictions. Don't rename or install a file while it's still downloading. Before trying again, remove any incomplete file with the same name so you don't mistake the old file for a new download.

If installation fails, save the installer's exact error and identify whether the cause is an architecture mismatch, unsupported system version, missing dependency, or conflict with an existing installation. If installation succeeds but connection fails, check your configuration, core startup, and system proxy instead of reinstalling repeatedly. Consider browser results, client logs, and the selected route together.

Version labels on this page come from the update manifest; installer links are maintained separately in the download manifest. Clients follow different release schedules, so choose based on your system, architecture, and compatibility needs—not the version number alone. For more common issues, browse the Troubleshooting page by symptom.

Download questions

Installer selection FAQ

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

For your first install, try Desktop, which uses a modern cross-platform interface. If you prefer the familiar Windows layout, choose the classic, stable WPF edition. Both are v2rayN. Back up your settings before switching, and don't let both instances manage the system proxy at the same time.

Should you download the Android arm64 or universal version?

For most phones released after 2015, arm64 is usually the right choice, but make sure the system supports 64-bit apps. If you don't know your device's architecture or the arm64 installer reports incompatibility, try the universal version. It won't fix an outdated Android version or a signature mismatch.

Will the client have a working configuration after download?

The client app and server configuration are separate. After installing the app, import a share link, subscription URL, or configuration file that you are authorized to use. Then select a server and connect. Subscription URLs may contain access credentials, so don't include them in public screenshots or logs.

What should you save before installing an update?

Use the client's export or backup feature to save your settings, and note your subscription groups, routing rules, and local listening ports. Exit the old client before updating. Mobile updates usually require the same package name and signing key. If the installer reports a conflict, don't uninstall yet; first make sure your backup can be restored.

The download finished, but the app won't install. What should you check first?

Make sure the download is complete, then check your operating system, processor architecture, and package format. Extract ZIP files on Windows; use APK on Android and DMG on macOS; choose deb or rpm on Linux based on your distribution. Keep the installer's exact error message and follow the steps on the Troubleshooting page.