v2rayN · v2rayNG · v2flyNG

V2Ray Client Comparison Platforms, cores, and configuration options

For desktop, start with v2rayN; for Android, start with v2rayNG. Consider v2flyNG if you already have a V2Fly configuration or need to verify core behavior.

Choose in this order: operating system → configuration compatibility → traffic handling → day-to-day management. A client may offer more features than your device needs.

Compare the three clients

Start with platform support Then compare the features

v2rayN is designed for desktop systems, while v2rayNG and v2flyNG are for Android. All three manage configurations and connections, but the core handles protocols, routing, and DNS. The table compares how features are organized—not performance or button counts—and treats each platform's traffic-handling methods separately.

Scroll horizontally on narrow screens to view the full table. Menu names, feature locations, and system requirements depend on the release package you install.

Platform, core, maintenance, and feature differences among v2rayN, v2rayNG, and v2flyNG
Feature v2rayN v2rayNG v2flyNG
Platform support Windows、macOS、Linux Android Android
Core options Multiple cores, including Xray; availability depends on the release package and configuration type Xray V2Fly
Maintenance Actively maintained; feature availability may vary across desktop interfaces and platforms Actively maintained; consider client and core updates together Check recent releases to assess maintenance activity, and verify compatibility before choosing
Ease of use Straightforward basic connection steps, with plenty of advanced settings A good starting point on Android; requires understanding the initial VPN permission prompt Basic workflows are similar to other Android clients; check V2Fly compatibility separately
Subscription groups Organize nodes into subscription groups for easier bulk updates and source tracking Manage subscriptions and organize nodes; group options depend on the current interface Import and manage subscriptions; check the current interface for group options
Routing rules UI A routing interface makes it easier to edit rules and check their order Routing settings are available; for complex setups, verify supported fields and core behavior Routing settings are available; rules must fall within V2Fly's supported features
System proxy Configure the desktop system proxy; whether an app uses it depends on the app Primarily routes traffic through Android's VPN interface; this is not the same as a desktop system proxy Primarily routes traffic through Android's VPN interface; this is not the same as a desktop system proxy
TUN and traffic handling Supports applicable TUN use cases, subject to platform, component, and permission requirements Creates a virtual network tunnel through Android's VPN interface and handles app traffic according to your settings Creates a virtual network tunnel through Android's VPN interface and handles app traffic according to your settings
DNS Setup Configure DNS based on the available interface options, routing rules, and selected core Configure DNS based on Xray's capabilities and the app's settings Configure DNS based on V2Fly's capabilities and the app's settings
Best for Desktop users managing multiple subscriptions or fine-tuning routing rules Android beginners and users with Xray configurations Android users with existing V2Fly configurations or specific V2Fly core requirements

Desktop client · Multiple cores

v2rayN: subscription management and desktop routing

v2rayN is a good fit for managing nodes in one place on Windows, macOS, or Linux. Subscription groups keep sources separate, making it easier to identify which group a node belongs to when updating. The routing interface brings domain rules, IP rules, outbound selection, and rule order into one place. For regular desktop use and frequent routing changes, these management tools matter more than saving a click during a one-off import.

Keep basic setup separate from advanced configuration

For your first setup, import one subscription, select a node, and enable the system proxy for the apps you want to use. Once the connection works, add LAN bypass rules, domain-based routing, or custom DNS one step at a time. Changing several settings at once makes troubleshooting harder: a browser failure could involve the node, proxy port, routing rules, or DNS, so it's difficult to pinpoint the cause.

Understanding multiple cores and TUN

Multiple cores give you configuration options; they don't make every setting interchangeable. Check which core a configuration targets before importing it, then review outbounds, DNS, and routing rules after switching cores. TUN is intended for cases that require broader traffic handling. Before enabling it, check platform support, required components, and permissions. If the system proxy meets your needs, start with that simpler connection path.

Windows downloads include desktop and classic WPF editions. For macOS, choose between Apple Silicon and Intel builds. On Linux, check both the package format and processor architecture. Menus may differ between desktop interfaces; when moving a configuration to another platform, check the available options instead of relying on screenshots from a different version.

Browse v2rayN downloads

Android client · Xray

v2rayNG Top pick for Android

Powered by the Xray core, v2rayNG handles everyday subscription imports, server selection, and routing on Android. To get started, update your subscription, choose a node, and connect. The first time you start it, Android asks you to approve a VPN connection. This system permission lets the client handle traffic; it doesn't mean the remote connection has succeeded. After granting permission, verify the connection with a real request and check the logs.

On mobile, focus on app traffic and background behavior

Android's VPN interface works differently from a desktop system proxy. If you use per-app rules, check that the target apps are in the intended scope and whether the rule is an allowlist or a blocklist. Android generally allows only one active VPN service, so another app using the VPN interface may prevent startup. If there's a conflict, check which service is active before troubleshooting the node configuration.

If the connection drops in the background, don't switch clients right away. First work out whether the issue occurs when the screen turns off, after a network change, or because the node is unavailable. For screen-off disconnects, check battery optimization and background permissions. For network changes, review the logs after connectivity returns. If the node is unavailable, test it again. More detailed logs produce more output, so restore a suitable everyday log level when troubleshooting is done.

For users with Xray configurations

If your configuration relies on Xray-specific protocols or fields, v2rayNG is a more direct choice for Android—but verify what its bundled core supports. You can use the same subscription source on desktop and mobile, but configure per-app routing, VPN permissions, and local DNS separately. A working desktop connection doesn't confirm that the phone's local settings are correct.

Browse v2rayNG Android downloads

Android client · V2Fly

v2flyNG: choose it for V2Fly configurations

Choose v2flyNG for its V2Fly core—not because its name resembles v2rayNG. It may suit you if your existing configuration follows V2Fly documentation or you need to investigate that core's DNS and routing behavior. If you're new to core differences and only have a standard subscription, v2rayNG is usually the easier starting point for following this site's Android setup guide.

Check field support before migrating

Xray and V2Fly are both part of the broader Project V ecosystem, but their protocols, transports, and configuration fields have evolved differently. Native JSON exported by one client shouldn't be assumed to work as a universal configuration for the other core. Before migrating, check the protocol and transport, then verify security, DNS, and routing fields. Reconfigure unsupported parameters according to the target core's capabilities rather than repeatedly trying to import them.

v2flyNG still requires Android VPN permission and is subject to app traffic scope and background restrictions. These platform requirements don't go away when you switch cores. Before installing, check the release package's system requirements and maintenance status. Assess maintenance activity and core compatibility separately; the app's name alone tells you neither.

If your V2Fly configuration is working reliably, keep a backup and verify changes one at a time. If the target configuration depends on Xray-specific features, check v2rayNG's support instead of treating v2flyNG as a fix for every Android connection problem.

Browse v2flyNG Android downloads

Choose by use case

Beginners, advanced users, and multi-device setups Compare setup effort

What the core and interface each do

Xray vs. V2Fly: compare compatibility, not speed

Project V provides useful background on this ecosystem. GUI clients organize subscriptions, display settings, and control the running process; Xray or V2Fly interprets the configuration and handles connections. A setting in the interface doesn't mean every core supports it. Likewise, a core's capabilities don't guarantee that the client provides a corresponding GUI option.

Your experience depends on the node service, transport settings, network conditions, DNS, and routing. If performance changes after switching clients on the same device, first check whether you're using the same node and rules, then review the connection stages in the logs. Speed comparisons using different nodes can't be attributed to the client or core alone. For an overview of setup across platforms, see the complete installation and configuration guide.

Choosing a client: the bottom line

v2rayN for desktop v2rayNG for Android

Windows、macOS、Linux

Top pick: v2rayN. Before downloading, check your operating system, processor architecture, and package format. Start with the system proxy for your first connection; consider TUN only if you need broader app traffic handling.

Download v2rayN

Android

Top pick: v2rayNG. Consider v2flyNG if you need compatibility with a V2Fly configuration. For either client, check the Android version requirements, VPN permission, and background settings.

Browse Android clients

After installation, follow the setup guide to import a subscription, select a node, and verify that the proxy is working. If you're connected but access still fails, keep the logs and check routing and DNS before switching clients.