Client installers / platforms and architectures

V2Ray Client Downloads

Choose v2rayN for desktop and v2rayNG for Android. Confirm your operating system first, then download the right CPU architecture. v2flyNG is an alternative powered by the V2Fly core.

Free to use Open source Graphical interface Import your own subscription

Windows Desktop Installers

One client, two interfaces. Both downloads below are for x64.

v2rayN

v2rayN

Recommended 7.24.1

Desktop edition · x64

Download Desktop installer

A modern, cross-platform UI. A good starting point for a first install or if you want a consistent experience across desktop systems. Manage server lists, subscription groups, and routing settings in the graphical interface.

Classic WPF edition · x64

Download classic WPF installer

The familiar, stable Windows interface. Choose this edition if you prefer traditional menus and lists. Menus may differ between editions, so follow the labels in your current interface. Switching editions doesn’t require buying another subscription.

Once the ZIP file downloads, extract all its contents to a writable folder, then run the installer inside. Don’t launch it from the archive preview. After installation, import a subscription or share link, select an active server, and configure the system proxy. Simply opening the client won’t automatically route all your apps through the proxy.

Before switching between Desktop and WPF, export any manually added servers and custom rules. On first launch, check local listening ports, DNS, and routing settings to avoid carrying over parameters that don’t suit your setup. Running both editions at once may cause port conflicts, so exit the first one before starting the other.

Windows installation requirements

What to checkSelection and setup
System and architectureOpen Settings → System → About to check your system type. Both installers on this page are for x64 and aren’t native installers for other architectures.
Runtime dependenciesSupported Windows versions and runtime requirements vary by release. If the installer reports a missing runtime, follow the instructions for that release. A file extension alone doesn’t tell you whether it’s compatible.
Permissions and foldersThe configuration folder must be readable and writable. Standard system proxy and TUN have different permission requirements; grant the permissions requested by the client only when enabling the relevant feature.

Setup after installation

Get one connection working first, then adjust routing and advanced options. This makes problems easier to pinpoint.

  1. Import a configuration

    The client and subscription are separate. Have a subscription URL, QR code, or share link that you obtained legitimately, then import it through the client’s import option. After adding a subscription URL, update the subscription to generate a server list. URLs may contain credentials, so don’t post them publicly.

  2. Choose a server and mode

    Select an active server, check its protocol and transport settings, then enable system proxy or VPN mode. A desktop system proxy may not cover every app, and Android per-app lists change which traffic is routed. Start with clear, basic settings; avoid changing routing, DNS, and multiple transport parameters at once.

  3. Test and save your settings

    Visit a service you use regularly and check the client logs to confirm the connection is established. A connectivity test doesn’t tell you the actual download speed. If something goes wrong, check the server, network path, and local settings in turn. Once connected, back up your configuration and add routing rules as needed.

See the subscription import and connection guide →

Updates and configuration migration

Keeping your data recoverable matters more than simply installing over the old version.

Before updating, note the client, installation channel, and architecture you’re using. Save subscription URLs, manually added servers, and custom routing rules. Desktop users should also record system proxy, listening ports, DNS, and TUN settings. Don’t rely on screenshots of server names alone: display names aren’t enough to restore protocol settings. Use the client’s export feature when needed.

Routine updates to the same client usually preserve user data, but that doesn’t replace a backup. Different interfaces, clients, or signing channels may use different data folders and import methods. Exit the old client first, then install the new one and import a small number of configurations to test them before restoring the rest. If Android reports a signature conflict, make sure your backup is restorable before removing the old app.

The client version shown on this page and the installer filename come from different catalog fields, so filenames may retain channel labels. After installation, check the client’s About page for the actual build details. Don’t compare version numbers across different projects to judge feature sets; protocol support depends on the client’s core and your configuration.

Installer FAQs

Six checks covering architecture, installation permissions, migration, and your first connection.

Should I choose the Windows Desktop or classic WPF edition?
For your first install, try Desktop, which uses a modern cross-platform interface. If you prefer the familiar Windows layout, choose the stable classic WPF edition. Both require an imported working configuration. Back up subscriptions, routing rules, and custom settings before switching, and avoid running both editions on the same local ports.
How do I know whether to download arm64 or another architecture?
Check your system’s processor information first. On a Mac, open About This Mac: choose Apple Silicon if it lists an Apple M-series chip, or Intel if it lists an Intel processor. Most Android devices can use arm64, but check app ABI support on older devices or systems; choose the universal build if unsure. On Linux, also confirm the package format for your distribution.
Why won’t my Android installer install?
Check that your browser or file manager is allowed to install unknown apps, then verify available storage, CPU architecture, and Android version. A signature conflict may mean the existing app came from a different signing channel. Export your configuration and make sure you can restore it before removing the old app; don’t delete data you haven’t backed up.
Can v2rayNG and v2flyNG use the same configuration?
Some common share links and subscription content can be imported into either client, but they use different cores, so their configurations aren’t fully interchangeable. For REALITY or specific transport extensions, check support in both the client and its core. Keep your original subscription URL, import it into the new client, and verify the protocol, transport, and security settings.
What should I save before updating a client?
Save subscription URLs, manually added servers, custom routing rules, and DNS settings. Desktop users should also note local ports, system proxy, and TUN settings. Use the client’s export or backup feature, and make sure the backup can be opened before updating. Subscription URLs may contain credentials, so store them only somewhere you trust.
Can I connect as soon as the client is installed?
The installer provides only the client, not a server or subscription service. Import a valid server configuration you obtained legitimately, select an active server, then enable proxy or VPN mode for your system. If the client starts but apps aren’t using the proxy, check system proxy settings, per-app settings, routing rules, and logs.
See more configuration and troubleshooting FAQs →