Client downloads / OS and architecture

Download V2Ray clients

v2rayN for desktop; v2rayNG and v2flyNG for Android.

Choose your OS first, then check the processor architecture. Version details appear on each client card, with installation instructions next to the relevant download.

Free to use Open source Compare the three clients →

Windows client

One client, v2rayN, with two interfaces. Choose Desktop for a first install, or WPF to keep the classic interface.

v2rayN

v2rayN

Recommended

7.24.1 · Windows x64

Desktop edition

A newer cross-platform UI, suited to first-time installs and users who want a consistent desktop experience.

Download Desktop · x64

ZIP archive. Extract it before running the installer inside.

Classic WPF edition

The established, stable Windows version for users who prefer the familiar menus and workflow.

Download WPF · x64

Both packages are x64; the difference is the interface, not the processor architecture.

Windows requirements and setup

CheckWhat to look forBefore installing
OS and architectureThis page provides Windows x64 packagesCheck System type under Settings → System → About.
RuntimeFollow the runtime requirements listed for your chosen versionIf startup reports a missing runtime component, install the component for the matching architecture.
PermissionsAdministrator rights are usually not needed for system proxy modeFor TUN mode, grant the permissions requested by the client.

After downloading, extract the archive to a writable folder. Don’t run the installer from the archive preview window. If Windows says the program is in use, quit v2rayN from the system tray and check that no older instance is still running. Desktop and WPF may use different configuration paths or migration methods, depending on the version. Export your settings before switching interfaces, and don’t overwrite the old folder.

On first launch, import a subscription or server settings, select a configuration, then enable “Set system proxy.” The system proxy affects only apps that honor it; a working browser connection doesn’t mean every program is using the proxy. If you need a virtual network adapter to route traffic from more apps, read the TUN mode guide. Avoid changing routing, DNS and network mode all at once on first launch.

If the interface starts but connections fail, check the specific error in the logs. A missing runtime, an unreachable server and an incompatible subscription field are different problems. Reinstalling the same package won’t fix incorrect server settings or provide connection configuration.

After installation

Import configuration and connect for the first time

The package installs the app, but a connection still needs configuration. Test the simplest setup first, then adjust routing and DNS.

Prepare a working configuration

The client doesn’t include a working server. Prepare a subscription URL, share link or server settings you’re authorized to use. Before importing, check the format and client compatibility. Subscription paths and query parameters may contain credentials; don’t include them in public screenshots or support requests.

After importing, check the address, port, protocol, transport and TLS settings. Seeing an entry in the list only means it was parsed; verify the server status, authentication settings and transport combination with an actual connection. Keep a copy of the original configuration while troubleshooting so you can compare changes.

Read the import and connection guide →

Know the difference between proxy and routing

On desktop, start with the system proxy. On Android, the client’s VPN mode creates a local traffic-routing path. The traffic capture method determines which apps send traffic through the client; routing rules then decide whether that traffic is proxied, sent directly or blocked. They’re separate settings.

For your first connection, change only what’s necessary. Once access and logs look good, add subscription groups, domain rules and DNS policies one at a time. If something breaks, reverting one change at a time makes it easier to find the cause. For rule order or custom outbound settings, see Advanced Setup.

Read the routing and DNS guide →

Download questions

Choosing a package and updating

Answers to six questions about downloads. For connection timeouts and routing issues, see Troubleshooting.

Does downloading a client give you a working connection configuration?

The package contains the client app, not a working server configuration. Prepare a subscription link or server settings you’re authorized to use, import them and select a configuration, then set up system proxy or VPN mode. Subscription URLs may contain credentials; don’t share them publicly.

Which v2rayN version should you choose for Windows: Desktop or classic WPF?

For a first install, try Desktop, with its newer cross-platform interface. Classic WPF is the established, stable Windows version for users familiar with the original layout. Both are v2rayN, and both Windows downloads on this page are x64 packages—not different processor architectures.

Which Android package should you choose: arm64 or Universal?

Most mainstream phones released since 2015 can start with arm64, but check the ABI supported by your system. Choose Universal for older devices or if you’re unsure of the architecture. A 64-bit processor doesn’t guarantee a 64-bit OS. If installation or package parsing fails, check the OS version, available storage and the signature of any existing app.

What’s the difference between v2rayNG and v2flyNG?

v2rayNG uses the Xray core and is our recommended Android option; v2flyNG uses the V2Fly core as an alternative. Choose based on the protocols, transports and configuration fields your setup requires. Being able to import a link doesn’t mean every parameter will work. Back up your configuration before switching clients, and disconnect the other app’s VPN.

What should you do if the version shown on the page differs from the package filename?

The version label and download link come from different manifest fields, so their update times may differ. This page reads each field as provided and doesn’t turn numbers in filenames into version labels. If they don’t match, keep your current configuration, check the app’s About screen after downloading, and then decide whether to update.

What should you back up before updating a client?

Use the client’s export or backup feature to save server settings, subscription groups, routing rules and custom DNS settings. Quit the old process before installing a new package from the same source for the same architecture. When moving between interface versions or clients, don’t assume configuration folders and every field are compatible. Test the new version before removing the old copy.