CLIENT SELECTION

v2rayN, v2rayNG, and v2flyNG Client Comparison

The main difference between these clients is the device platform, followed by the core and available features. Choose v2rayN first on desktop, then choose between the Xray and V2Fly cores on Android.

Desktop

Choose v2rayN first

Supports Windows, macOS, and Linux, making it a good fit for desktop users who need subscription groups, server filtering, routing-rule controls, and TUN settings.

Go to Windows Downloads
Android

Choose v2rayNG first

A widely used Android client built on the Xray core, with a clear workflow for importing subscriptions and switching nodes. A solid default for mobile devices.

Go to Android Downloads
Need the V2Fly core

Choose v2flyNG

Use v2flyNG as an Android alternative when the configuration source, environment, or personal workflow specifically requires the V2Fly core.

View v2flyNG Downloads
SIDE BY SIDE

Key Differences Between the Three Clients

The table covers factors that directly affect installation and everyday use. Maintenance is described qualitatively; version numbers, release dates, and ratings are not used as selection criteria.

Comparison Criteria v2rayN v2rayNG v2flyNG
Supported Platforms Windows、macOS、Linux Android Android
Primary Core Xray is the usual choice, with other compatible cores configurable where supported by the client Xray V2Fly
Maintenance Status Actively Maintained Actively Maintained Ongoing Maintenance
Learning Curve Moderate. There are many entry points, and first-time users need to understand system proxy settings, routing modes, and subscription groups Low. Subscription import, node selection, and connection startup are handled in a focused workflow Low. The basic workflow is similar to that of common Android V2Ray clients
Subscription Management Well suited to multiple subscriptions and group management, with filters for organizing server lists Supports subscription import, updates, and node switching for everyday mobile use Supports standard subscription imports and node management
Routing Rules Interface Offers comprehensive controls for viewing and adjusting routing modes, rules, and outbound relationships Provides mobile routing controls for common traffic-splitting needs Provides routing configuration designed to work with the V2Fly core
Traffic Handling and TUN Supports system proxy and TUN modes, with coverage adjustable for different use cases Uses Android's VPN service to handle device traffic; the exact scope depends on system and app settings Uses Android's VPN service to handle device traffic, with behavior determined by the core configuration
Notable Features Subscription groups, server filtering, routing-rules UI, log viewer, system proxy, TUN QR-code and clipboard import, mobile node switching, per-app proxy, connection logs V2Fly core, subscription management, per-app proxy, mobile configuration import
Best For Desktop users, advanced users who need detailed routing, and users managing multiple subscriptions Most Android users, as well as users who want the Xray core Android users who specifically need the V2Fly core or already have matching configurations
CLIENT NOTES

Client-by-Client Review

The sections below follow real usage paths, covering differences you may encounter when importing a subscription for the first time, managing it long term, or applying advanced settings.

Top Desktop Pick

v2rayN: A Complete Desktop Configuration Hub

Windows · macOS · Linux

v2rayN is well suited to long-term use on a desktop. After adding a subscription, organize it by source and filter servers by alias, protocol, or other criteria. Servers, groups, logs, and settings have clearly defined entry points, making large node lists easier to manage than a flat list interface.

Its advantage goes beyond platform coverage. System proxy, routing modes, DNS, LAN sharing, and TUN settings are gathered in one client, making it easy to move from basic connectivity to fine-grained traffic splitting. For new users who only need to import a subscription, the defaults cover the common workflow; advanced users can further tune routing rules and core parameters.

The trade-off is that more features mean more settings. On first use, avoid changing the system proxy, TUN, DNS, and custom routing at the same time. A safer sequence is to import the subscription and verify one server, select a system proxy mode, then add routing or TUN settings as needed.

Subscription Groups Server Filtering Routing-Rules UI TUN Support
Choose a v2rayN Desktop Installer
Top Android Pick

v2rayNG: The Xray Core and a Mobile-Friendly Workflow

Android

v2rayNG is the more straightforward default choice on Android. Its interface follows common mobile tasks: import a configuration from the clipboard, a QR code, or a subscription URL, select a node, and start the connection through Android's VPN service. Everyday node switching, subscription updates, and connection-log checks take only a few steps.

It typically uses the Xray core and works well with subscriptions containing common configurations such as VMess, VLESS, and Trojan. For most users, the core name should not be the first deciding factor; if the provider explicitly supports Xray, import the subscription and connect normally. For per-app traffic handling, check the client's per-app proxy settings.

Mobile operating systems may manage background activity, battery optimization, and VPN permissions. If the client stops connecting after the screen locks, check the system's background restrictions before rebuilding the subscription. Interpret log errors together with the selected node, network environment, and routing settings.

Xray Core Subscription Updates Per-App Proxy QR-Code Import
Choose a v2rayNG Android Installer
Alternative Core

v2flyNG: Choose It When V2Fly Is Required

Android

The defining feature of v2flyNG is its V2Fly core. It is not a second client that every Android user needs, but an option for users whose configuration, workflow, or testing goal specifically calls for V2Fly. If the subscription provider has no core requirement, v2rayNG is usually the simpler choice.

The client keeps familiar Android features such as subscriptions, node selection, per-app proxy, and logs, so switching from another mobile client does not require relearning the entire workflow. The important checks are whether the configured protocol, transport, and core capabilities match—not how similar the two interfaces look.

If the same subscription must be tested across different cores for compatibility, import it into each client and compare the results, but do not let both clients handle system traffic at once. Stop the current connection before switching, and keep the node and network environment consistent so environmental changes are not mistaken for core differences.

V2Fly Core Subscription Management Per-App Proxy Configuration Import
View the v2flyNG Android Installer
USE CASES

Choose by Use Case

Once the device platform is known, narrow the choice by configuration complexity, number of devices, and core requirements.

CORE AND CLIENT

The Client and Core Are Different Layers

The client handles subscription imports, node lists, system permissions, routing forms, and log displays; the core parses protocol configurations and handles the actual connection. When choosing a client, consider both its interface and platform, and confirm that its built-in or supported core can process your existing configuration.

Xray and V2Fly both continue to evolve within the Project V ecosystem, but their feature coverage and configuration implementations are not identical. Most users do not need to edit a complete configuration file by hand; they only need the subscription format to remain compatible with the client's core. If an import succeeds but the connection will not start, check the protocol fields, transport method, and client logs.

v2rayN Desktop graphical interface
Xray / Compatible Core Protocol and routing processing
v2rayNG Android graphical interface
Xray Common mobile choice
v2flyNG Android graphical interface
V2Fly Specific core requirement
FINAL CHOICE

Final Choice: Platform First, Core Second

Choose v2rayN first on Windows, macOS, and Linux; choose v2rayNG first on Android. Switch to v2flyNG on Android only when the subscription notes, existing configuration, or testing goal explicitly requires the V2Fly core.

After downloading, follow the shortest setup path: import the subscription, update the list, select a server, and start the connection. Once basic connectivity works, add routing rules, per-app proxy, DNS, or TUN settings one at a time.