Platforms · Core Engines · Configuration

V2Ray Client Comparison
v2rayN / v2rayNG / v2flyNG

Start by narrowing your options by operating system, then check that the core supports the protocols your nodes require. Before installing, verify subscription handling, routing, and how each client captures traffic.

  • Desktopv2rayN
  • Getting started on Androidv2rayNG
  • V2Fly configuration compatibilityv2flyNG

SELECTION ORDER

Choose a client for your device and protocols

These clients aren't just three themes for the same platform. Desktop and Android differ in permissions, traffic routing, and background operation, so the number of buttons alone won't tell you which client fits.

DESKTOP

Best for desktop

Use v2rayN on Windows, macOS, or Linux. On the download page, choose your operating system, processor architecture, and package format. Windows offers a cross-platform UI edition and the classic WPF edition. Both are versions of the same client, not separate apps you need to learn.

See v2rayN download options →

ANDROID

Best for Android

For typical subscription imports and Xray configurations, start with v2rayNG. Consider v2flyNG only when you specifically need V2Fly core and your node settings are compatible with it. Similar names don't mean the same custom configuration will work in both clients.

See Android client options →

CAPABILITY MATRIX

Platform, core, and feature comparison

This table compares common GUI features. Menu names and capabilities can change with client and core updates; check your installed version for advanced protocol fields. Scroll horizontally on narrow screens.

Platform, core, maintenance, and use cases for v2rayN, v2rayNG, and v2flyNG
Comparison v2rayN v2rayNG v2flyNG
Platforms Windows / macOS / Linux Android Android
Core options Usually Xray; sing-box is available for compatible configurations. Don't assume a fixed V2Fly core based on the client name. Xray; suited to nodes that require its protocol support V2Fly; check protocol and transport field compatibility separately
Maintenance Actively maintained, with ongoing UI and core configuration updates Actively maintained, with Android features evolving alongside core updates Updates are less frequent; check recent compatibility before installing
Ease of use Basic imports are straightforward; learn routing, TUN, and multiple core settings step by step Easy to get started; import a configuration, select it, and authorize the VPN connection Basic steps are similar to v2rayNG; understanding core compatibility is more important
Subscription groups Create groups and update subscriptions to manage different sources separately Manage and update subscription groups to switch configurations on mobile Basic subscription management; advanced options depend on the installed version
Routing rules UI Visual routing modes and rule editing make desktop management easier Preset routing options and custom rule settings Routing settings are available, but rule support depends on the V2Fly core
TUN and traffic routing Offers TUN and system proxy options; TUN requires the necessary permissions and core support Routes traffic through Android's VPN interface; this is not the same as a desktop TUN switch Routes traffic through Android's VPN interface and requires system authorization
Key features Subscription groups, visual routing rules, multiple core options, and desktop tray controls Xray protocol configuration, per-app routing, and mobile subscription management Keeps the V2Fly core option available for compatibility checks
Best for Desktop users and anyone who needs granular routing or wants to troubleshoot app proxy behavior Android beginners, everyday subscription users, and anyone who needs Xray features Users with V2Fly-compatible configurations who specifically need that core

CLIENT NOTES

Where each client fits

These reviews focus on what each client can do and the configuration work involved—not on ranking performance by UI complexity.

Best for desktop

v2rayN

Subscription groups and desktop routing

v2rayN is a good fit for managing subscriptions, node selection, and traffic routing in one desktop app. For the first setup, add a subscription group, update it, select a configuration, and enable the system proxy. Once the basic connection works, consider TUN, DNS, and custom routing. Changing several network settings at once makes problems harder to diagnose.

The Windows cross-platform edition uses a newer UI, while the WPF edition keeps the classic layout. On macOS and Linux, use the platform-specific v2rayN option; there is no WPF installer for those systems. A shared UI can make familiar workflows easier to carry across platforms, but network permissions, system proxy behavior, and installation requirements still depend on the operating system.

Its strength for advanced users is visual routing and core selection. Route traffic by domain, IP, or rule set—but first understand rule order and the default outbound. When switching between Xray and sing-box, review DNS, routing, and transport settings. Their native configurations aren't interchangeable; changing the core name alone won't make custom JSON compatible.

Choose a v2rayN download →
Best for Android

v2rayNG

Xray core and mobile subscriptions

v2rayNG centers on a list of Android configurations. The usual flow is to add a subscription group, update it, select a configuration, and start the connection. When Android first asks to set up a VPN connection, grant permission. Once the connection icon appears in the status bar, test access in an app rather than assuming the icon means everything is working.

Xray support is a key reason to choose v2rayNG. If node instructions include VLESS, REALITY, or XTLS Vision parameters, check the corresponding client fields and core support. REALITY isn't a standalone proxy protocol, and parameters from a standard TLS setup shouldn't be copied unchanged into a different security configuration.

On mobile, also check per-app routing and background operation. If per-app proxying is enabled, confirm the target app is included. If the connection drops when the screen locks, review battery optimization and background restrictions. Another app using the VPN interface may conflict; when troubleshooting, use only one traffic-routing service at a time.

See v2rayNG download options →
V2Fly core alternative

v2flyNG

For compatibility with existing configurations

Choose v2flyNG because you need its core—not as a lightweight alternative to v2rayNG. The clients have similar mobile workflows, but v2flyNG uses V2Fly while v2rayNG uses Xray. v2flyNG is a more targeted option when an existing configuration explicitly requires V2Fly or you need to verify behavior with that core.

Being able to read a subscription doesn't mean every node in it will work. A link with core-specific fields may fail to connect in a different core. If fields are missing after import, startup fails, or a handshake error appears, compare the node requirements with the logs. Don't randomly change encryption, security, and transport options.

An older phone isn't, by itself, a reason to choose v2flyNG. Check the minimum OS version, processor ABI, available memory, and package compatibility to determine whether it will install and run reliably. Updates are less frequent, so pay particular attention to OS compatibility for the package you choose. Most Android users should start with v2rayNG.

See v2flyNG alternative →

PROJECT V / V2FLY / XRAY

Core differences matter more than UI differences

Project V provides useful context for the V2Ray ecosystem. V2Fly continues the development of related cores, while Xray has evolved as a fork with its own protocol and transport capabilities. A shared technical origin doesn't mean today's fields, defaults, and configuration formats are all the same.

v2rayN, v2rayNG, and v2flyNG are open-source GUI clients. Client updates and core updates are separate: a new UI field may require a matching core, while a core feature may not yet have a corresponding control in every UI. For compatibility, follow the protocol requirements from your subscription provider rather than relying on the client name.

Read about Xray vs. V2Fly core differences

SCENARIO SELECTION

Choose based on your use case

Start with a client that supports your device and node requirements. Add advanced features only after the connection is stable.

BEFORE INSTALLATION

Check these four things before installing

  1. OS and architecture. On desktop, confirm whether you're using Windows, macOS, or Linux, then check your processor architecture. On Linux, identify whether your system uses deb or rpm packages. On Android, arm64 and universal are package types, not feature tiers.
  2. Subscription and protocol. The client doesn't provide nodes to connect to. Get a subscription or node details you're authorized to use, and make sure the protocol requirements match the core. Keep subscription URLs private; don't post screenshots that reveal subscription details.
  3. Traffic routing. The system proxy affects apps that follow system proxy settings, but not necessarily every program. TUN and Android's VPN interface can route more traffic, but behavior still depends on routing rules, per-app settings, and system permissions.
  4. Recovery plan. Record your current routing and proxy settings before making changes. Before closing the desktop client, check that the system proxy has been restored; on Android, confirm the VPN is disconnected after stopping the connection. If something breaks, undo the latest change and check the logs before reinstalling or changing your subscription.

If the basic connection still fails, first determine whether the subscription update failed, the core failed to start, or access failed after connecting. Check the URL and update logs, ports and configuration fields, or routing and DNS, respectively. Don't assume every issue means the client is the wrong choice. For platform-specific installation steps, see the complete cross-platform setup guide.

SELECTION QUESTIONS

Common mistakes when choosing a client

Will switching clients make the connection faster?

Not necessarily. Connection quality depends on the network path, server load, protocol, DNS, and routing. For a fair comparison, use the same device, network, and node, and make sure both clients route the same traffic. Switching clients is useful for diagnosis only when you have a specific compatibility or configuration issue to investigate.

Can you use v2rayNG and v2flyNG configurations interchangeably?

Both clients may recognize common link formats, but that doesn't guarantee full compatibility. Check the security layer, transport parameters, and core-specific fields in particular. After moving a configuration, review its details and test the connection. If you need to keep the original, record its settings first rather than overwriting it.

Do you always need to enable TUN on desktop?

No. If apps such as browsers follow the system proxy, start with that for a basic connection. Consider TUN only when you need to route other apps or specific traffic. Before enabling it, check permissions, routing, and DNS to avoid conflicts with other traffic-routing tools.

Which client should you choose, and where can you download it?

Choose v2rayN for desktop and v2rayNG for Android. Use v2flyNG only when you specifically need V2Fly compatibility. Visit the client downloads page and choose the option for your operating system and processor architecture. After installing, follow the quick-start guide to import a subscription and test the connection.