Choose an installer · Check your system and architecture first

V2Ray Client Downloads

v2rayN desktop and Android client downloads

Choose your operating system first, then select an interface edition or CPU architecture. Use v2rayN on desktop. For Android, start with v2rayNG; consider v2flyNG if you need compatibility with an existing V2Fly configuration.

See how to import a subscription after installation →

Choose a package by platform

Each download button links to a specific file. Switching platforms updates the page URL’s anchor, making it easy to save or share the selected platform.

v2rayN

Windows · x64 · 7.24.1

Top pick Free & open source

Desktop edition

Download Desktop · x64

A new-generation cross-platform UI. A good starting point for first-time installs, with a layout closer to the other desktop editions.

v2rayN-Desktop-Setup-x64-7.24.1.zip

Classic WPF edition

Download classic WPF · x64

The classic, stable edition with the familiar Windows interface. Choose it if you prefer the established layout.

v2rayN-Setup-x64-7.24.1.zip

Windows system and installation requirements

CheckWhat to look for
CPU and system architectureBoth downloads on this page are x64. Check “System type” in Windows Settings; don’t rely on the processor brand alone.
Operating system and runtimeUse a supported, maintained version of Windows 10 or Windows 11. Check the installer’s notes for the specific minimum version and runtime requirements.
Files and permissionsExtract the ZIP fully before running the installer. Standard use and TUN mode have different permission requirements.

After downloading, extract the archive to a writable folder, then run the installer from there. Running it directly from the archive preview may prevent it from reading required files. If the installer reports a missing runtime, check which component it requires. Don’t confuse a missing dependency with a subscription connection failure.

Desktop and WPF are different interface editions, not separate subscription services. If you already have settings, export or back up your servers, subscription groups, and custom routing rules before switching. Don’t run both editions while they manage the system proxy; port conflicts and overwritten proxy settings make troubleshooting harder.

After launching the client for the first time, import a valid configuration, select a server, and test a standard proxy connection. There’s no need to enable TUN right away. Once the basic connection works, configure routing and DNS as needed. This helps separate installation issues from configuration problems and system-wide traffic interception.

See how to import a subscription in v2rayN →

Configuration steps after installation

Make sure the program opens before setting up a connection. Installation errors and network errors happen at different stages: if the program won’t start, check the architecture, dependencies, and install permissions first. If it starts but can’t connect, check the subscription, server settings, and client logs. Downloading the installer again usually won’t fix an expired subscription URL.

Before importing a subscription, make sure the URL is complete and comes from a source you’re authorized to use. Don’t include spaces or line breaks when copying it, and don’t mistake a management page URL for a subscription URL. After the subscription updates successfully, select a server and test the connection. Seeing servers in the list confirms the import worked, but doesn’t guarantee the remote service is available.

Once the standard proxy connection works, configure routing rules, DNS, and TUN. Change one category at a time and note the original settings. That way, if something goes wrong, you can return to the last working state instead of guessing which of several changes caused it. If you use many custom rules, keep a simplified configuration as a baseline.

A backup should include more than subscription URLs. Manually added servers, custom outbound settings, edited configuration files, and filtering rules may not come back when you refresh a subscription. Save these items and note your current working proxy mode and port settings. After updating, test the default connection first, then restore advanced features one at a time to narrow down compatibility issues.

When troubleshooting, note which step failed and keep the complete error text. Logs and screenshots may contain subscription URLs, account details, and server information; hide sensitive data before sharing. Don’t publish your full configuration for testing or post links that contain access credentials in public discussions. For more help with request errors and subscription updates, visit the Help Center.

Download and installation FAQs

Desktop or classic WPF for Windows: which should you choose?

For a first install, start with Desktop, which uses a newer cross-platform interface. The classic WPF edition keeps the familiar Windows layout. Both require you to import your own connection settings. Before switching, back up your subscriptions, servers, and custom rules. Don’t let both editions manage the system proxy at the same time.

Should you download the arm64 or universal Android build?

Most mainstream phones released since 2015 are likely to support arm64, but check the architecture supported by your device’s operating system. Choose the universal build if the architecture is unclear or you need compatibility with other supported architectures; it’s usually larger. If Android reports that the package is incompatible, check the architecture and system requirements instead of reinstalling the same file.

Do I need a subscription or server settings after installing the client?

Yes. The client reads your settings and establishes a connection; the installer does not include a working server. Have a subscription link you’re authorized to use or individual server details ready, then import them using the quick-start guide. Subscription URLs may contain credentials, so hide the full URL and account details when troubleshooting or sharing screenshots.

What should I check first if installation fails?

Note your OS version, CPU architecture, installer filename, and the complete error message. On Windows, check that files are extracted and look for runtime requirements. On macOS, make sure the package matches your chip. On Android, check install permissions and signature conflicts with an existing app. On Linux, confirm the package format and dependencies suit your distribution. Don’t disable system protections or delete unbacked-up settings.

What should I save before updating the client?

Save your subscription groups, manually added servers, custom routing rules, DNS settings, and custom configuration files. Quit the client before installing the update, and don’t run another version during the process. After updating, test a standard proxy connection first, then restore TUN or custom rules one at a time to make compatibility issues easier to pinpoint.

Why does the client’s displayed version differ from the installer filename?

The version shown on a client card and the installer link come from different fields in the release manifest, so they may temporarily be out of sync. Check both the filename and platform notes before downloading. After installation, use the version shown on the client’s About page. Don’t infer protocol compatibility from the filename alone; feature support depends on the client and its core.