Choose an installerPick your platform, then check the architecture

V2Ray Download
Client Installers

Choose v2rayN for desktop. For Android, start with v2rayNG; consider v2flyNG if you need compatibility with V2Fly core configurations. Picks are based on platform and core compatibility, not ratings.

Windows installers

Choose an interface first: Desktop or classic WPF. Then check your system architecture. Both downloads below are x64 archives. Extract the files before running the installer.

v2rayN

Windows desktop client

Top pick
Optional Xray corex647.24.1
Download v2rayN Desktop

Desktop: a newer cross-platform UI and a good place to start for a fresh install.

Download the classic WPF edition

WPF: a tried-and-tested option for users who prefer the familiar Windows workflow.

What’s different: Desktop and WPF mainly differ in interface technology and interactions, not in the proxy protocols they use. Node compatibility still depends on subscription fields, the selected core, and server configuration. If your current setup works, back it up before switching editions so interface changes don’t get confused with connection issues.

Set up the client after installation

Before connecting: A successful installation only means the client can run. Confirm where your configuration comes from, then enable proxy features one at a time to make troubleshooting easier.

Configuration source

Import a subscription or node

Manage subscriptions: Add a valid link to a subscription group and check for recognized nodes after updating it. Expired links, unexpected responses, and unsupported fields require different fixes. Don’t share a full subscription link in public screenshots or forums.

Subscription import steps →
Basic connection test

Choose a proxy mode

Choose a mode: On desktop, start by testing the system proxy. On Android, follow the prompts to create a VPN tunnel. Enable TUN only if you need to route traffic from more apps, and check the required permissions and DNS settings. System proxy, routing rules, and TUN are separate settings.

Routing guide →
Troubleshooting

Test one node

Troubleshooting order: Check the local listener and proxy status first, then review your subscription settings, system time, and server reachability. Change one setting at a time and keep a record of errors. A single timeout can’t tell you whether the problem is the client configuration, network path, or server.

View common connection issues →

Download and update FAQs

What to troubleshoot: Start with installer, architecture, and update issues. For connection setup, see the guides and advanced options.

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 offers familiar Windows controls and a tried-and-tested experience. They do not use different proxy protocols. Back up your settings before switching editions, and avoid running both at once to prevent port conflicts.
Android: arm64 or universal?
Most mainstream phones released since 2015 can start with arm64, but check which app architectures your device supports. If you’re unsure or arm64 is reported as incompatible, choose the universal build. It includes components for multiple architectures and is usually larger; that does not mean it offers faster connections.
Why might the version shown on a card differ from the download filename?
The version shown on each card and the installer paths for each platform come from separate manifest fields and may be updated at different times. Don’t edit filenames or download URLs based on the card text. To confirm the installed version, check the installer details and the client’s About page.
Can I connect as soon as the client is installed?
The client reads your configuration and establishes a connection; the installer does not include a working server. Import a valid subscription or complete node configuration, select a node, choose a proxy mode, and test the connection. Subscription links are sensitive and should not be shared publicly.
What settings should I keep before updating the client?
Back up your subscription groups, node settings, routing and DNS options, and custom outbound settings before updating. Quit the running client first. On the first launch after updating, check that your settings are intact, then test a node you know works. Don’t change several settings at once while troubleshooting.