Client downloads · Choose a platform and architecture

V2Ray Client Downloads

For desktop, choose v2rayN; for Android, start with v2rayNG. Confirm your operating system, then choose a package for your processor architecture.

Free, open-source clients. Import a subscription or node configuration you’re authorized to use before connecting.

Choose a package

Download by platform

Platform selections are reflected in the address bar, making the page easy to save and share. Check the version on each client card, and confirm the package format and architecture before downloading.

Windows: v2rayN downloads

v2rayN Recommended

7.24.1

Both downloads are x64 archives. The desktop edition has a modern cross-platform UI; the classic WPF edition is a stable, Windows-only option. For a first install, start with the desktop edition. If you’re used to the classic interface, choose the one that suits your workflow.

  • Desktop · x64

    Built with the Avalonia cross-platform UI, it’s a good choice for fresh installs and for users who want a consistent experience across desktop operating systems.

    Download Desktop · x64
  • Classic WPF · x64

    Uses a Windows-only UI framework and keeps the classic layout. Runtime requirements may differ from the desktop edition; follow any prompts at launch.

    Download Classic WPF · x64

System requirements and pre-install checks

CheckRequirements for packages on this pageWhere to check
System and architectureWindows x64; supported Windows versions depend on the selected release packageSettings → System → About; check System type
Runtime dependenciesDepends on the release package. If a runtime is missing, install the component for the required architecture as promptedPrompts on first launch and application error messages
Directory permissionsThe program and configuration directories must be writable; fully extract the archive firstProperties and access permissions for the extraction folder

Extracting, first launch, and switching versions

First, check System type in System Information and confirm that it says x64-based processor. If Windows reports ARM, don’t choose this x64 package just because the system is 64-bit; check the device’s app compatibility first. Both downloads on this page are for x64 systems. Don’t infer other package architectures from the processor name.

After downloading, fully extract the archive to a permanent, writable folder, then run the installer or launcher inside. Don’t run the program from the archive preview or extract only a single executable. The program may need files in the same folder, and temporary extraction paths can make it hard to find the configuration later.

On first launch, keep the default listening settings. Import a subscription, select a server, then follow the setup guide to configure the system proxy. Don’t run the desktop and WPF editions at the same time; they may compete for the same local port. Before switching versions, exit the old process and save your configuration. Don’t mix or overwrite files from both editions in the same folder.

If a runtime component is missing, note its name, version, and architecture from the prompt before installing it. Not every launch failure is caused by a missing runtime: a read-only folder, incomplete extraction, or an old process holding a port can also cause problems. For details, see the installation and first-run guide. To compare the interfaces, see desktop vs. WPF edition.

What to do after downloading

Installation is just the first step. Follow this order: import, select, connect, verify. It’s easier to pinpoint problems than when you change several network settings at once.

  1. Import a configuration you’re authorized to use

    Get a subscription URL or node share link, make sure it’s complete, then add it to the client. Subscription URLs often contain access credentials; don’t post them in public comments or screenshots, or submit them to online conversion tools. If you need a different format, check whether your subscription provider offers one for your client.

    See the subscription import steps →
  2. Select a server and proxy mode

    After updating the subscription, select a server and test the connection with the default or basic routing settings. On desktop, enable the system proxy if needed; on mobile, approve the system connection request. A successful subscription update only means the configuration was retrieved—it doesn’t guarantee the server is reachable.

    See proxy and routing settings →
  3. Check logs and keep working settings

    Test the connection with the apps you actually need, and use the logs to check for DNS resolution, handshake, or connection errors. Change one setting at a time and note its original value. Once the connection is stable, add routing rules gradually. If something goes wrong, revert to the last configuration you verified.

    Browse troubleshooting topics →

Updating the client and keeping your configuration

Before updating, stop the connection, exit the client, and make sure the old process has ended. Use the current version’s export or backup option to save your configuration. If you need to copy the configuration directory, confirm its actual location first. The program, configuration, and system installation directories may be different; saving the installer isn’t a substitute for backing up your configuration.

Subscription groups, custom routing, DNS, listening ports, and app proxy settings can all affect how the client behaves after an update. Save rules and settings, not just server names. Backups may contain subscription URLs and node credentials, so store them securely and don’t share them publicly as routine troubleshooting attachments.

After updating, check that your subscriptions are still there and the right server is active, then verify ports and routing. Remove old files only after everything works as expected. If you need to roll back, use the backup you made before updating. Don’t assume every configuration saved by a newer version can be read by an older one.

v2rayN, v2rayNG, and v2flyNG are graphical clients for everyday use in the Project V, V2Fly, and Xray ecosystems. Choose based on your device and configuration compatibility, not by comparing version numbers across projects. To learn more about protocols, routing, and how TUN fits in, see the complete guide from beginner to advanced.

V2Ray client download FAQs

For a fresh Windows install, should I choose the desktop or classic WPF edition?

For a fresh install, start with the v2rayN desktop edition and its modern cross-platform interface. The classic WPF edition is a Windows-only stable option for those who prefer its familiar layout and workflow. Don’t run both at once. Back up your configuration before switching, and check the runtime requirements.

Should I download the arm64 or universal Android version?

Most phones released after 2015 can use arm64, but confirm that your system supports 64-bit apps. If you’re unsure of the processor architecture or the arm64 package is incompatible, try the universal version. It includes components for multiple architectures and is usually larger; it doesn’t add features.

Why can’t I connect after installing the client?

The client manages configuration and connections; the installer does not include a working server. You’ll need a subscription URL or node configuration you’re authorized to use. Import it, select a server, then configure the system proxy or connection mode. If an error occurs, check the client logs first to determine whether the issue is with the configuration, network, or permissions.

How do I keep my subscriptions and routing settings when updating the client?

Stop the connection and exit the client, then use the current version’s export or backup feature to save your configuration. On desktop, confirm the actual configuration directory rather than copying only the program files. After updating, check subscription groups, the active server, listening ports, and routing rules. Keep the old backup for now.

What should I do if the download won’t install or the app is incompatible?

Check the platform, processor architecture, and package format. Fully extract Windows archives; choose the right package for Apple Silicon or Intel on macOS; check Android’s architecture and installation permissions; and select deb or rpm for your Linux distribution. If it still fails, note the full error message—don’t disable system security protections.

Can I use the same configuration in v2rayNG and v2flyNG?

The two clients use different cores, so compatibility depends on the protocol, transport, and specific settings. You can try importing common share links into either client, but that doesn’t mean every advanced setting is interchangeable. Keep the original subscription, import it into the new client, and check routing and DNS settings separately.