Client installers

V2Ray Downloads
Choose an OS and architecture

For desktop, choose v2rayN; for Android, v2rayNG is the usual choice. Check your operating system first, then confirm the device architecture. Installer format and the protocol used by your configuration are separate things.

Open source Free to use GUI configuration

01Choose an OS

02Check the architecture

03Install and import a configuration

v2rayN · Windows

Top pickx647.24.1

Desktop edition

Download Desktop · x64

A newer cross-platform UI for first-time installs and anyone who wants a consistent workflow across desktop operating systems. After downloading the ZIP, extract all files before running the installer. Don’t launch it from the archive preview.

Classic WPF edition

Download Classic WPF · x64

A stable classic edition with the familiar Windows WPF interface, suited to users who prefer its menus and workflows. The main difference from Desktop is the interface and interaction design—not the proxy protocols. You don’t need to switch editions just to use a particular node type.

Choose either installer. If you want to try the other interface, back up your configuration and quit the running client before switching to avoid conflicts with the system proxy or local listening ports.

Windows requirements and installation checks

CheckWhat to look forHow to check
System architectureThe available download is an x64 installerGo to Settings → System → About and check System type.
System and runtimeMust meet the requirements of the selected release and its runtimeIf the installer reports missing components, install them as prompted. Check compatibility first on older versions of Windows.
Install locationUse a location your account can accessKeep the extracted folder structure intact; don’t move only the executable.
ConfigurationImport a subscription group or share linkAfter importing, select a server and check your system proxy and routing settings.

After the first launch, check the local listening ports in Settings before enabling the system proxy. Browsers usually follow the system proxy, but some apps use their own network settings and may need a proxy configured separately. Don’t assume that a running client means every app is routed through it.

Before updating an existing installation, quit the old process from the system tray menu. Closing the main window may only minimize the client to the tray, leaving the process and its ports active. If the new client can’t listen on a port, first check for another running instance; there’s no need to change your subscription and routing at the same time.

Configure after installation

Import a subscription and connect for the first time

View the full user guide →
  1. 01

    Save and install the right package

    First check your operating system and architecture. Once the download is complete, open it using your system’s installation process. On desktop, quit the old client first; on Android, check the existing app’s signing identity and source before updating. New installations and in-place updates may show different prompts. If an error occurs, note its exact wording before deleting any configuration.

  2. 02

    Import and update a subscription

    In the client’s subscription group settings, enter a URL you obtained and are authorized to use, save it, and run an update. The group name helps distinguish sources; the URL is the actual request destination. Subscription URLs may contain access credentials, so redact the full link in screenshots and support requests. Don’t post it publicly.

  3. 03

    Select a configuration and test it

    Select a working server, then set the system proxy on desktop or confirm the VPN prompt on Android. Test actual access and, if needed, check the local port, routing, DNS, and system time in turn. A latency test is only one data point—it can’t replace testing access from the apps you use.

How to choose a client and core

Desktop and Android clients

v2rayN is for Windows, macOS, and Linux desktops, with GUI controls for subscriptions, server selection, and routing. v2rayNG and v2flyNG are for Android. Their interfaces may feel similar, but their core capabilities aren’t interchangeable. Choose based on your device’s operating system first, then the features your existing configuration requires, and finally the architecture and installer format.

When switching between desktop interfaces, don’t overwrite an unfamiliar data directory without checking it. Export your configuration using the client’s built-in tools, note custom routes and local ports, then restore them selectively in the new installation. Keep subscriptions you can fetch again separate from entries you added manually, and save both as needed.

Protocol compatibility goes beyond the name

V2Fly and Xray share technical roots in the Project V ecosystem, but each has developed distinct features. Names such as VMess and VLESS are only part of a configuration; transport, security layers, and extra parameters also affect compatibility. A share link being recognized doesn’t guarantee that the current core supports every field it contains.

If a configuration imports successfully but won’t connect, first compare the server requirements with the client logs instead of cycling through every installer. For details on REALITY, transports, and differences between cores, read the protocol guide. If terms like inbound, outbound, and routing are unfamiliar, start with the glossary.

Installation FAQ

Download and update FAQ

Windows Desktop or classic WPF: which should you choose?

For a first installation, try the Desktop edition with its newer cross-platform interface. If you prefer the classic interface or want to keep familiar workflows, choose the stable WPF edition. Both are v2rayN, and the available installers are x64. Before switching, export your configuration and save your subscription details. Don’t let both clients control the system proxy at the same time.

How do I check whether my Mac has Apple Silicon or an Intel processor?

Open About This Mac from the Apple menu. If the Chip field shows an Apple M-series chip, choose the Apple Silicon installer. If the Processor field shows Intel, choose the Intel installer. Architecture and macOS version are separate requirements, so check that your system meets the release’s requirements before installing.

What’s the difference between Android arm64 and universal builds?

The arm64 package is for devices that support 64-bit ARM apps; most mainstream phones released after 2015 can usually use it. The universal build includes multiple architectures and is intended for devices with an unknown architecture or those requiring another supported architecture. A 64-bit phone processor doesn’t guarantee that the system provides a matching app environment. If you see an architecture incompatibility error, check which ABIs your system supports.

Why can’t I connect right after installing the client?

The client is a configuration and connection tool; the installer does not include a working server or subscription. Import a configuration you obtained and are authorized to use, update the subscription, and select a working entry. Then check the system proxy on desktop or grant VPN connection permission on Android. A successful launch only means the app is running—it doesn’t mean the outbound configuration is ready to use.

Do I need to delete my existing configuration when updating?

Usually, there’s no need to delete your configuration before updating, but migration behavior can vary by release, install location, and signing identity. Before updating, export your configuration, note your subscription groups, routes, and local ports, then fully quit the client. If Android reports a signature mismatch, don’t uninstall immediately. Check the installation source and confirm your backup is complete before choosing how to migrate.

Should I download the deb or rpm package for Linux?

Choose deb for distributions such as Debian and Ubuntu that use deb as their native package format. Choose rpm for distributions that use RPM, and check the distribution version and dependencies. x64 is for common 64-bit Intel or AMD computers; arm64 is for compatible 64-bit ARM environments. Matching package formats don’t guarantee compatibility with every distribution release.

Download v2rayN