Client downloads for four platforms

V2Ray Client Downloads

Choose your operating system, then your architecture. Use v2rayN on desktop; for Android, start with v2rayNG, or choose v2flyNG if you need the v2fly core.

The clients are free and open source. Import a valid configuration after installation; the installers do not include a subscription service.

Platforms and packages

Choose for your device

Use the system requirements table to narrow down your package choice. Check the selected release’s installation prompts for specific OS and runtime requirements.

v2rayN

v2rayN

Top pick for Windows

7.24.1 · x64 · ZIP archive

Desktop edition

Download Desktop · x64

A next-generation cross-platform UI. A good starting point for a first install or for a similar desktop experience across multiple devices.

Classic WPF edition

Download Classic WPF · x64

The stable classic edition with a traditional Windows interface. Choose it if you’re used to its layout and want to stick with what you know.

The download is a ZIP archive. Extract all files to a writable folder before opening the installer or reading the included instructions. Don’t launch the app from the archive preview. Keep the full folder structure so the program can find its required components.

Subscription groupsSystem proxyRouting

Windows requirements and where to check

CheckProvided hereBefore installing
Processor and OSx64 Desktop and x64 WPF editionsCheck your system type and Windows version in System Information.
Runtime componentsDepends on the selected releaseIf prompted for a runtime, install the component specified in the package instructions.
Folder permissionsThe fully extracted or installed folderMake sure the app can write configuration, log, and update files.
Connection settingsSystem proxy or in-app proxyCheck the local listening port and close any other app using the same port.

Install, upgrade, and migrate

Keep your configuration; then update your setup

When switching clients on the same device, distinguish the app files from the connection settings. Reinstalling isn’t the answer to every problem.

First install

Start with a setup you can verify

Note the client, system architecture, and install location. Fully extract desktop archives. On Android, confirm the APK has finished downloading in your file manager before installing. If the system reports incompatibility, check the package type and architecture; don’t keep trying same-named files from unknown sources.

On first launch, grant only the permissions you need, then review the client settings. Check the local listening port on desktop and the system VPN prompt on Android. Avoid adding complex rules at this stage; keeping the defaults makes it easier to identify which later change affects the connection.

Upgrade in place

Back up and quit the old process

Use the client’s backup or export feature to save subscription groups, custom configurations, routing rules, and essential settings. Subscription links may contain access credentials, so store them securely. Before sharing a screenshot for troubleshooting, hide the full link and any account details.

Disconnect and quit the old process before upgrading. Afterward, check that the existing configuration loads, then verify the system proxy, auto-start setting, and listening port. If the installer reports a signature mismatch or fails to overwrite the existing app, first check where the old package came from and how it was installed. Don’t uninstall immediately and risk losing your configuration.

Switch clients

Check settings and core compatibility

Desktop and Android clients don’t always share the same interface or backup format. You can migrate servers using a subscription URL or standard share link, then recreate client-specific settings one by one. Don’t assume another client can read the entire application folder as a configuration.

v2rayNG and v2flyNG use different cores. Importing a protocol with the same name doesn’t mean all transport and security settings are identical. If a setting has no equivalent in the new client, check the protocol reference to confirm support before migrating.

After installation

Import a subscription and connect for the first time

A successful installation only confirms that the app can run. Check the configuration, connection status, and app proxy settings separately.

View the full setup guide →

Import first, then check the server list

Create a subscription group in the client, paste a valid subscription URL, and update it. To use a share link, choose the appropriate clipboard import option. After updating, check that servers appear in the group and that the protocol and transport settings look right. If the list is empty, first check whether the subscription is valid and returns a format the client supports—not by repeatedly reinstalling the app.

Select a profile and check which apps use the proxy

Select a valid profile and start the connection. On desktop, check that the system proxy or in-app proxy points to the client’s current local listening address. On Android, confirm that the system has authorized the VPN connection. Not every app uses the system proxy; check network settings in tools that configure their own proxy.

Test access before adding routing rules

First confirm that the intended app can reach the target site, then enable the routing rules you need one step at a time. Change one group of settings at a time and watch the logs and app behavior. If nothing connects after startup, check the server settings, subscription status, and local port. If only certain domains fail, check DNS and routing matches. Avoid changing multiple variables at once.

Download FAQs

Installer and upgrade questions

Which v2rayN edition should you choose: Desktop or classic WPF?

For a first install, start with the v2rayN Desktop edition, which uses a next-generation cross-platform interface. If you prefer the familiar Windows layout, choose the classic, stable WPF edition. Both downloads on this page are x64. Before switching, export your configuration and quit the old process. Don’t let both clients manage the system proxy at the same time.

Should you choose arm64 or universal for Android?

Most mainstream phones released after 2015 are best suited to the arm64 package, but make sure the OS supports 64-bit apps. Try the universal package if your device is older, its architecture is unclear, or the arm64 package reports incompatibility. Universal builds include components for multiple architectures and are usually larger; that doesn’t mean they connect better.

Why can’t I connect after installing the client?

The client reads your configuration and establishes a connection; the installer does not include a working server. Import a valid subscription or complete share link, select a configuration, check the routing mode, and start the connection. On Android, approve the system VPN prompt. On desktop, check the system proxy or the client’s in-app proxy settings.

What should you back up before upgrading?

Use the client’s backup or export feature to save subscription groups, custom servers, routing rules, and essential settings. Store subscription links somewhere secure. Quit the old client before upgrading. Afterward, check that your configuration is intact, whether local ports have changed, and the system proxy and auto-start settings.

What if the page version differs from the installer filename?

The version shown on the page and the download links are read from separate update manifests, so they may briefly differ. Don’t change a download URL based on the displayed version alone. Check the downloaded package name and the version in the installed client’s About page. If they don’t match your expectations, refresh the page and check again later. Back up existing settings before installing.