v2rayN / v2rayNG / v2flyNG

Three V2Ray clients compared

v2rayN, v2rayNG and v2flyNG cover desktop and Android respectively. The table below lists platform support, core, maintenance status, setup difficulty and feature highlights item by item, followed by an in-depth review of each client, scenario-based selection advice and download links.

Item-by-item comparison

Full comparison table

Eight dimensions side by side: platform, core, maintenance status, setup difficulty, subscriptions and groups, routing rules, system takeover and who each client suits. On narrow screens, swipe sideways to see the full table.

Dimension v2rayNTop pick for desktop v2rayNGTop pick for Android v2flyNGAndroid alternative
Platform support Windows · macOS · Linux Android Android
Core Xray (default) Xray V2Fly
Maintenance status Actively maintained, synced across all three desktop platforms Actively maintained Actively maintained, follows the V2Fly mainline
Setup difficulty Moderate: you pick a routing mode on first run Low: import a subscription and connect Low: same steps as v2rayNG
Subscriptions and groups Multiple subscription groups, adjustable auto-update interval Subscription import and manual updates Subscription import and manual updates
Routing rules Graphical rule editor, can reference rule-set files Built-in rule sets plus a custom rule entry point Built-in rule sets, fewer editing options
System takeover TUN mode, plus a mux multiplexing toggle VpnService takeover, no root required VpnService takeover, no root required
Best for Long-term desktop use with several subscriptions to manage Everyday Android use with the default Xray core When you need the V2Fly core, or want a backup

Client reviews

A closer look at the three clients

The details beyond the table: what each client does best, and when it is worth switching to another.

v2rayN

Windows · macOS · Linux
Xray core · Actively maintained

Top pick for desktop

v2rayN covers all three desktop platforms - Windows, macOS and Linux - with Xray as the default core. The window is split into four panes: subscription groups, server list, routing settings and logs. Once a subscription is imported, you can switch servers, run latency tests and adjust the routing mode from the same interface, with no need to jump between tools.

Subscription management is where it differs most from the Android clients: you can keep several subscription URLs at once, each in its own group, with the auto-update interval set per subscription. Routing rules have a graphical editor that supports rules by domain, IP and process, and can reference ready-made rule-set files directly. TUN mode and mux multiplexing each have their own toggle, so you can switch takeover methods whenever you need.

Get v2rayN on the download page

v2rayNG

Android
Xray core · Actively maintained

Top pick for Android

v2rayNG is the go-to Android client, running on the Xray core. After installing, import a subscription or a single share link and tap the connect button in the bottom-right corner; traffic is then routed through the system VpnService. No root access and no extra runtime environment are needed.

Settings are grouped into three areas: subscriptions and server list, routing rules, and system permissions and battery policy. Routing ships with built-in rule sets that bypass the local network and mainland China addresses, while still offering a custom rule editor. Per-app proxy lets you choose which apps go through the proxy and which connect directly - handy for keeping intranet and banking apps out of the proxy.

Get v2rayNG on the download page

v2flyNG

Android
V2Fly core · Actively maintained

Android alternative

v2flyNG shares the same interface family as v2rayNG; the difference is the core - v2flyNG runs on the V2Fly core. Importing subscriptions, picking servers and connecting follow the same path as v2rayNG, so switching from one to the other takes almost no relearning.

It is positioned as the alternative: when a subscription or a particular transport does not behave as expected on the Xray core, you can switch to the V2Fly core and compare. It is a little leaner than v2rayNG, with fewer routing rule editing options, but subscription and server management are still complete - a good fit for users who want both cores on hand.

Get v2flyNG on the download page

Core family

How Xray and v2fly relate

The two cores share a common origin and use the same configuration syntax; the difference lies in how quickly new transports are supported.

Xray

A core branch forked from the V2Fly codebase with more transport-layer extensions; newer transports such as REALITY and XTLS entered the ecosystem through this branch. v2rayN and v2rayNG use it by default.

V2Fly

A core branch maintained by the Project V community, keeping its configuration format aligned with upstream V2Ray and following a steady release cadence. v2flyNG uses this core, which suits setups that need to stay compatible with existing configurations.

For most users, the core difference shows up in how soon new transports are supported. VMess and VLESS are configured identically on both cores, and subscription URLs are not tied to a core, so switching clients does not mean regenerating a subscription.

The core choice only affects day-to-day experience when a subscription includes a transport that just one of them supports. When a connection acts up, switching to another client for comparison is also a common troubleshooting step.

  • Ecosystem: Project V · V2Fly · Xray
  • Protocols: VMess · VLESS · Trojan
  • Clients: v2rayN · v2rayNG · v2flyNG

Scenario advice

Choosing a client by use case

Four common situations, with the pick and the settings that matter for each.

New to V2Ray

Choose v2rayN on desktop and v2rayNG on Android. After importing a subscription, stay with the default routing mode until the connection works, then adjust split-routing rules and battery settings step by step - change one variable at a time so you can roll back easily if something breaks.

You need routing and split tunneling

Go with v2rayN. Its graphical routing editor supports rules by domain, IP and process, and can reference ready-made rule-set files; the runtime log records connection and rule details so you can check rule by rule whether each one matched.

Several devices at once

Install v2rayN on desktop and v2rayNG on Android; the same subscription URL can be imported on both sides and each updates independently. Stagger the auto-update intervals so both devices do not hit the subscription URL at the same moment.

Older phones and low-spec devices

Install the universal package first, and add the client to the battery optimization whitelist in system settings so the background process is not killed. Then use per-app proxy to route only the apps you need, keeping the always-on overhead down.

Verdict

v2rayN on desktop, v2rayNG on Android

v2rayN covers all three desktop platforms and offers the most complete subscription grouping and routing; on Android, v2rayNG is the default choice, with v2flyNG stepping in when you need the V2Fly core. Installer links for all three clients are collected on the download page - switch platforms to see them.

Selection FAQ

Common questions about choosing a client

Five questions that come up when choosing a client; step-by-step details are on the download page and in the configuration guide.

What is the difference between v2rayN and v2rayNG?

v2rayN is a desktop client for Windows, macOS and Linux; v2rayNG is an Android client that takes over traffic through the system VpnService. They are maintained by different projects but share the same subscription format and protocol set, so server configurations can be imported into either. The desktop client is more feature-rich; the Android one is lighter.

If I switch clients, do I need to regenerate the subscription URL?

No. Subscription URLs are decoupled from clients: the same URL can be imported into v2rayN, v2rayNG and v2flyNG separately, and each pulls the server list on its own. Watch the auto-update interval, though - several devices hitting the same subscription URL at short intervals can trip the provider's rate limit.

Can desktop and Android share a single subscription?

Usually yes, though whether a subscription limits simultaneous devices depends on the provider's terms. In practice, import and update on each side independently - the server lists do not need manual syncing. If the two sides show different content, trigger a manual update on both and compare again.

Xray or v2fly: which core should I choose?

In everyday use you will not notice much difference, and VMess and VLESS are configured the same way on both cores. If you need newer transports such as REALITY, choose v2rayN or v2rayNG with the default Xray core; if you already have a V2Fly configuration you want to keep as is, use v2flyNG.

Are TUN mode and VpnService the same thing?

Both route traffic through the client, but at different layers. TUN mode on desktop creates a virtual network adapter that feeds system traffic into the core; VpnService on Android is the VPN interface provided by the system, which the client uses to take over app traffic without root.