Client Downloads / Choose an Installer

V2Ray Client Downloads

Choose your operating system, then your CPU architecture.

Use v2rayN on desktop and v2rayNG on Android. If you already have a V2Fly configuration, consider v2flyNG. After installation, import a valid subscription or connection settings.

Free forever Open source Graphical configuration Subscription import steps →

Platforms and architectures

Choose an installer

The selected platform is saved in the page URL, so reopening the same URL returns you to that platform. These are graphical client downloads; check your OS version and the installer's requirements before installing.

Windows installation requirements

CheckWhat to choose and prepare
System architectureBoth downloads on this page are x64. Check your system type under Settings → System → About. The x64 package is not a universal installer for every architecture.
Windows version and runtimeUse a supported Windows release that is still maintained. The minimum version depends on the installer and UI framework you choose. If a runtime is missing, follow the installer's instructions.
Files and foldersExtract the entire ZIP to a writable folder and keep all files together. Don't run the app from a temporary extraction location or copy out only the executable.
Proxy permissionsSystem proxy and Tun mode have different permission requirements. Get a basic connection working first; if you need Tun to route traffic through a virtual network adapter, check administrator access and driver status.

Before the first launch, quit other apps that control the system proxy to prevent them from repeatedly changing its address. After importing a subscription, confirm that the list contains a working configuration before enabling the system proxy. System proxy settings don't cover every app; check apps with their own network settings separately.

Before migrating from an older version, back up subscription groups, server settings, and custom rules. After installing the new interface, check the listening port, routing mode, and startup options. Don't migrate by copying the old directory over the new one. If startup fails, check the logs for runtime or file path errors before switching editions.

From installation to connection

Configuration steps after downloading

Installing the client, importing a configuration, and routing traffic are three separate steps. Check them in order to distinguish installation issues from connection problems.

01 / Before installation

Save your current configuration

If you're already using a client, note your subscription groups, routing mode, listening port, and custom DNS settings. A subscription refresh may not restore manually edited local rules, so save anything you need for migration separately.

Before installing over an existing version, quit the client and disconnect the system proxy or VPN. Don't run old and new versions at the same time to compare them; port conflicts and proxy changes can make the results unreliable.

02 / Import configuration

Import a subscription or connection settings

The client configures your device; you'll need a separate connection service. Once you have a valid subscription, add its address under subscription groups and update it. For a single share link, use the relevant import option, then check the protocol and transport settings.

Subscription URLs may contain credentials. When troubleshooting, don't publicly post the full URL, account details, or screenshots of your configuration. If the list is empty, check that the URL is complete and hasn't expired, then review the update log for details.

View subscription import steps →

03 / Verify the connection

Check which traffic is covered

Select a configuration before enabling the network mode you need. System proxy, split routing, and Tun control how traffic reaches the client, which outbound is selected, and how much traffic is routed through it. They are separate settings, not interchangeable switches.

Verify the connection using both real app access and client logs. One working app doesn't mean all traffic is routed as expected. If something fails, return to a simple configuration to confirm connectivity, then add DNS, routing, and Tun settings one at a time.

View advanced configuration →

Download FAQs

Version and installation choices

Check the package name, platform, and architecture before adjusting permissions or configuration. Expand a question below for guidance.

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

For a first installation, start with Desktop, which uses a modern cross-platform interface. The classic WPF edition retains the familiar Windows look and established workflows, making it a good fit for experienced users. Both require a valid connection configuration. Before switching editions, back up subscription groups, routing rules, and settings; don't assume their configuration directories are interchangeable.

Android: arm64 or universal APK?

For most phones released since 2015, arm64 is the usual choice, but the deciding factor is the app architecture supported by your operating system. Some devices have a 64-bit processor but support only 32-bit apps; in that case, try the universal build. If installation fails to parse or reports incompatibility, check the OS version and architecture instead of retrying the same mismatched package.

How do v2rayNG and v2flyNG differ?

v2rayNG uses the Xray core and is the recommended Android option. v2flyNG uses the V2Fly core and can be an alternative for existing V2Fly configurations. Their protocol support and configuration fields are not necessarily identical. For REALITY or XTLS Vision, check support in the client's core and connection settings; a successful import alone doesn't confirm compatibility.

Why might the version shown on a card differ from the number in the filename?

The displayed version comes from an app-level manifest, while the filename belongs to a specific installer entry; they may be updated at different times. Check the client name, platform, and architecture when choosing a file. Don't rename files or alter URLs based only on version numbers. To verify an installed version, check the client's About page.

Can I connect as soon as the client is installed?

You'll also need a valid subscription link or connection settings. The client reads configurations, selects an outbound, and handles traffic on your device; the installer doesn't include a connection service. After importing a configuration, select one that works, set the system proxy or network mode, then verify the connection using logs and an actual app. Subscription links may contain credentials, so don't share them publicly.

Should I uninstall the old version before updating?

For the same client installed through the same channel, try a standard update first; uninstalling is usually unnecessary. Back up your configuration and quit the running client before updating. If the installer reports a signature, architecture, or package-format conflict, check where and how the old version was installed. Uninstalling may erase app data. When switching clients or interface editions, save configurations separately and recheck routing and permissions.