Client guide · Desktop and Android

V2Ray client comparison

Choose a platform first, then check the core and traffic-handling method. v2rayN is the top pick for desktop, and v2rayNG for Android. Consider v2flyNG if you need to keep using V2Fly configurations.

Clients manage connection settings; installing one does not provide a working subscription.

Narrow down by device

Choose a platform before comparing features

Desktop and Android differ in permissions and how they handle traffic. Feature names alone aren't enough to tell which client is right for you.

Windows

Choose v2rayN. The desktop edition uses a cross-platform interface, while the WPF edition retains the classic Windows UI.

View Windows downloads →

Linux

Choose v2rayN. Select a deb or rpm package based on your distribution and processor architecture.

View Linux downloads →

Compare key features

All three clients offer a graphical interface, but they aren't simply three skins for the same platform. v2rayN focuses on desktop management, while v2rayNG and v2flyNG are two Android clients built around different cores. Rule out clients for the wrong platform first; then compare the rest.

Swipe horizontally to view the table on narrow screens. Menus, protocol combinations and system requirements depend on the installed version and bundled core.

Choosing between v2rayN, v2rayNG and v2flyNG
Feature v2rayN v2rayNG v2flyNG
Platforms Windows、macOS、Linux Android Android
Core Typically Xray; available cores and how they're invoked depend on the release, configuration type and client version Xray core V2Fly core
Maintenance Actively maintained; features and menus may differ between the desktop and WPF editions Actively maintained; features and bundled core change with releases A maintained alternative; its release cadence may differ from v2rayNG
Ease of use Basic imports are straightforward; system proxy, routing and TUN settings are distinct Easy to get started; the first connection requires permission to use Android's VPN service Similar workflow to other Android clients; check configuration compatibility first
Subscription groups Group management, updates and subscription settings Subscription group settings and update controls Subscription management; menus vary by installed version
Routing rules UI Manage routing configurations and edit rules in one place, ideal for desktop setup Routing modes and rules are available; fine-grained options depend on the UI and core Routing settings are available; rules must match the V2Fly core
TUN and traffic handling TUN settings are available; require the relevant components, system permissions and routing environment Routes traffic through Android's VPN service; this is not the same as a desktop TUN switch Routes traffic through Android's VPN service; still subject to system permissions and background restrictions
Best for Desktop users who manage subscriptions and troubleshoot routing Android users who need Xray configuration support Android users with existing V2Fly configurations who need to preserve the behavior of that core

Maintenance status is a general indication, not a promised release schedule or support commitment. Before upgrading, check system requirements, configuration migration notes and core changes. Similar-looking interfaces do not mean every configuration can be moved between apps unchanged.

v2rayN: top desktop pick

v2rayN is a good fit for managing subscriptions, reviewing configuration details and adjusting routing on a computer. Its wide interface can show groups, server lists and status information at once, making it easier to check system proxy and local listener settings when troubleshooting. Windows, macOS and Linux users can start with the same client instead of learning a different workflow for each desktop OS.

Desktop edition or WPF edition?

The Windows download page offers a desktop edition and the classic WPF edition. The desktop edition uses a cross-platform interface, suited to users who want a similar workflow across desktop operating systems. The WPF edition keeps the classic Windows interface and is a good fit if you already know its menus and management flow. Menu labels may differ between editions, so tutorial screenshots aren't guaranteed to match pixel for pixel.

For your first setup, import a subscription and confirm a basic connection before considering TUN. Apps such as browsers that follow the system proxy can usually test the connection through that setting first. If an app ignores the system proxy, then consider its built-in proxy options or TUN. TUN is a different way to route traffic, not a setting that makes the connection faster.

Centralized controls still require understanding the settings

A routing rules UI makes editing easier, but rule order, DNS resolution strategy and match conditions still determine what happens. Subscription updates may replace or refresh subscription content; whether manual changes are preserved depends on the group settings. Back up your local configuration before important changes, and avoid running multiple apps that manage the system proxy or virtual network at the same time.

View desktop downloads · Learn about system proxy and routing

v2rayNG: top Android pick

v2rayNG uses the Xray core and is a solid default for Android. The main workflow is to import a subscription, update it, select a configuration and connect. For combinations such as VLESS and REALITY, check that the Xray core and client support the required fields rather than relying on a protocol name alone.

VPN permission and per-app proxy

When you connect for the first time, Android asks you to approve VPN access. This VPN service is a local interface for routing device traffic; it doesn't provide a remote service. If you enable per-app proxying, check whether you're using an allowlist or a blocklist. Choosing the wrong one can leave target apps outside the proxy or route apps that should be excluded.

Android generally allows only one app to use the standard VPN connection at a time. If another tool already uses it, starting v2rayNG may replace that connection. If connections drop in the background, check battery optimization, background activity and system restrictions before assuming the server is at fault. Switching clients won't resolve these system-level issues.

Subscriptions can move; desktop settings don't

You can add the same subscription on a computer and a phone, but whether it imports and connects depends on its format, protocol parameters and server restrictions. Android doesn't need the desktop system proxy settings copied over, and the desktop's local listening port isn't a value your phone must reuse. Confirm the basic connection first, then adjust settings for your apps and routing needs.

Download v2rayNG · View the Android setup guide

v2flyNG: an alternative for V2Fly configurations

v2flyNG uses the V2Fly core, making it useful for preserving configurations and behavior from that core's ecosystem. Consider it if you already have a configuration designed for V2Fly, need to check parameters against its documentation or want to test the same core on Android. It's not a “lite” edition for older phones, and its name alone says nothing about resource usage.

Check protocol support before migrating

A similar interface doesn't guarantee configuration compatibility. Some protocol features or fields implemented in Xray have no equivalent in the V2Fly ecosystem. A configuration that includes REALITY, for example, won't work just because you can copy its share link. Before migrating, check the transport, security layer, authentication parameters and extension fields. Repeatedly updating a subscription won't fix a core that lacks support.

If v2rayNG already meets your needs and you don't specifically need a V2Fly configuration, there's no reason to switch just to compare the names. If you do want to test v2flyNG, keep your working configuration and note each app's settings. Run only one connection at a time so you can tell an import issue from an unsupported core feature or a system permission conflict.

View the alternative v2flyNG download

Core differences: Xray and V2Fly

Project V provides context for the V2Ray ecosystem. V2Fly continues development related to V2Ray, while Xray is a separate core that grew from related code. GUI clients import, edit and start configurations; cores handle protocols, transport and routing. Client names, core names and protocol names refer to different layers and are not interchangeable.

The main difference between v2rayNG and v2flyNG is their core. v2rayN's desktop management capabilities also shouldn't be equated with any one core. Which component a desktop configuration uses depends on the installed package, configuration type and settings. Even when routing modes share a name, their underlying resolution strategies and rule extensions may differ.

Check the full compatibility combination

Choose a core based on the configuration you actually need. Along with protocol names such as VMess, VLESS and Trojan, check the transport, security layer and optional parameters. REALITY is a transport security mechanism, not a separate client. If you need it, confirm you're using a compatible Xray setup and version.

Core differences alone don't determine speed. Real-world performance also depends on the network path, server status, DNS, routing rules and device resources. First check whether the configuration is supported and whether the system can route traffic as needed. Connection performance is only meaningfully comparable when those basics are consistent.

Choose by use case

Before you download

Without a specific configuration requirement, the choice is simple: v2rayN for desktop and v2rayNG for Android. Keep v2flyNG in mind for Android setups that specifically require the V2Fly core. All three are open-source clients; choose based on platform support, configuration compatibility and workflow—not which name sounds most like V2Ray.

  1. Check your OS and architecture. On desktop, check the processor; on Linux, check the package format too. For Android, check the system requirements and whether the arm64 or universal package is suitable.
  2. Check your subscription and protocols. Have a subscription or single-node configuration ready, know the difference between a subscription URL and a share link, and confirm the core supports the complete set of required parameters.
  3. Check how much traffic to route. On desktop, distinguish the system proxy from TUN. On Android, check VPN access and per-app lists. Get a basic connection working before adding detailed rules.
  4. Keep a way to roll back. Before upgrading or switching clients, save the configuration you need and note your existing routing and DNS changes so you can identify what changed afterward.

Go to the download page to choose a client and package. For first-time setup, continue with the user guide. If the client is installed but subscription updates fail, go straight to troubleshooting subscription update failures—there's no need to switch clients first.