Client selection / Platforms and cores

V2Ray Client Comparison
v2rayN, v2rayNG, and v2flyNG

Start with your device's operating system, then consider your configuration needs. v2rayN is our desktop pick; v2rayNG is our Android pick. Choose v2flyNG if you need to keep using a V2Fly configuration.

All three are open-source GUI clients. The client provides the settings and interface; the core handles protocol processing. You still need a working, authorized connection configuration after installing a client.

Platform → Client → Core Illustrates how to choose; not a complete feature list
How three clients relate to device platforms Desktop platforms use v2rayN; Android uses v2rayNG or v2flyNG, based on the Xray and V2Fly cores respectively. Desktop Android v2rayN v2rayNG v2flyNG By package Xray V2Fly

Available cores and components in v2rayN depend on the release package. Don't assume every desktop feature is available on Android.

Side-by-side comparison

Platforms, cores, and setup

Similar feature names don't guarantee the same implementation. First check that the core can handle your configuration, then decide whether the interface suits your day-to-day needs.

Swipe horizontally to scroll the table on narrow screens. Keyboard users can focus the table region and scroll horizontally.

Platform support, cores, maintenance, and use cases for three V2Ray GUI clients
Comparison criteria v2rayN v2rayNG v2flyNG
Platform support Windows、macOS、Linux Android Android
Core options Configurations can use cores such as Xray or V2Fly. Which cores are bundled and available depends on the release package. Primarily uses Xray; protocol support depends on core updates Focused on the V2Fly core; check whether it supports your configuration
Maintenance Actively maintained; check for changes to the interface and runtime environment when updating Actively maintained; back up subscriptions and custom settings before upgrading Check project release notes for maintenance updates; don't infer release cadence from the client name
Ease of use Basic imports are straightforward, with more advanced options for routing, DNS, and TUN A short setup flow for importing a configuration and granting VPN permission Familiar Android-style basics; core compatibility needs closer attention
Subscription groups Manage multiple subscription groups, filter servers, and update them separately Subscription management helps organize configuration sources on your phone Subscriptions are supported; check the app for grouping and filtering options
Routing rules UI More screen space for viewing and editing desktop rules, suitable for managing many rules Routing settings are available; complex rules can be cumbersome to edit on a phone Routing options depend on both the interface and core. Don't assume Xray-specific fields are compatible.
TUN / traffic routing TUN is available through supported components; capabilities depend on the platform, permissions, and installation package Routes traffic through Android's VPN service; this is not the same as a desktop TUN toggle Routes traffic through Android's VPN service; system permissions still apply
Best for Desktop beginners, users with multiple subscriptions, and power users who need fine-grained routing Android beginners, everyday use, and users who need Xray protocol support Users with existing V2Fly configurations who want to keep using the corresponding core on Android
Client reviews

Where each client fits

Compare management workflows and configuration compatibility—not version numbers or ratings.

Top desktop pick Windows / macOS / Linux

v2rayN: desktop subscriptions and routing

If you mainly use a computer, start with v2rayN. Its desktop window makes it easier to review subscription groups, server configurations, and runtime logs at once. When you have several subscription sources or need to adjust routing order, centralized management is more convenient than editing connections one by one. For your first setup, import a configuration and establish a basic connection before exploring advanced features.

The Windows download page offers both the desktop edition and the classic WPF edition. The desktop edition uses a newer cross-platform interface; the classic WPF edition may suit users who prefer the familiar workflow. On macOS, choose the right build for Apple Silicon or Intel. On Linux, check both processor architecture and package format. These differences affect which installer to choose, but don't remove the need to check configuration compatibility.

View v2rayN downloads by platform →
A good fit if you need to
  • Organize subscriptions by source to keep configurations separate.
  • Review routing rule order and distinguish direct, proxy, and block outbound traffic.
  • Choose between system proxy and TUN based on your app's needs.

Start with the system proxy to verify the connection, then consider TUN. TUN often requires elevated permissions, a virtual network interface, and additional components; it shouldn't be the default fix for every connection problem.

Top Android pick Xray core

v2rayNG: everyday use on Android

Android beginners can start with v2rayNG. The usual steps are importing a subscription, selecting a configuration, starting the connection, and granting Android VPN permission. If you need Xray-specific protocol support, first check that the core supports it and that your subscription fields are compatible, then adjust the app settings. Being able to import an entry doesn't mean its server parameters are correct.

On a phone, connecting is only part of the picture: per-app routing and background operation matter too. If only certain apps should use the VPN, check the app-specific settings. If the connection drops when the screen locks, check battery restrictions and background permissions. Another network tool may already be using Android's VPN service; switching servers repeatedly won't fix a conflict on the device.

View v2rayNG download options →
Before downloading and connecting
  • For most modern arm64 devices, choose the arm64 download.
  • If you're unsure of the device architecture, check its system information or consider the universal build.
  • Grant Android VPN permission, then check that app traffic is routed through the client.

Android VPN routing and the desktop “set system proxy” option are different. When troubleshooting across devices, don't look for desktop proxy menu labels on a phone; first confirm system authorization on Android.

Android alternative V2Fly core

v2flyNG: keep using a V2Fly configuration

v2flyNG is a better fit when you have a specific need for a V2Fly configuration. For example, consider it if your existing configuration relies on V2Fly fields and behavior and you want to keep using that core on Android. Choose it for configuration compatibility—not because its name sounds more like V2Ray or because the two Android clients are interchangeable.

Before switching, check the protocol, transport, security settings, and custom JSON. Xray and V2Fly share some ecosystem concepts, but their capabilities have diverged over time; don't copy settings that are specific to one core into the other. Check release notes for maintenance updates and system compatibility, too. A failed connection alone doesn't mean a project is no longer maintained.

View the v2flyNG alternative →
Preserve configurations before replacing anything
  • Save the original subscription URL and any connection settings entered manually.
  • Keep server connection details separate from client-specific settings.
  • After migrating, check routing, DNS, and which apps are routed through the client.

Unless you have a specific core requirement, start with v2rayNG on Android. An alternative client can address compatibility needs; there's no need to run both apps at once.

Choose by use case

Beginners, power users, multiple devices, and older phones

Prioritize device requirements and setup effort; more features aren't always better.

Final checks before downloading

v2rayN for desktop, v2rayNG for Android

If you don't have a specific core requirement, choose from these two options. Use v2flyNG only after confirming that your existing configuration needs V2Fly and that the target system supports the required features. The client name, interface style, and package size don't tell you whether a configuration is compatible.

Switching clients won't improve the remote server or route. Connection timeouts can be caused by the server address, network, certificate, or transport settings. Keep the logs and narrow down the cause; that's usually more effective than installing several clients in a row. If system proxy, routing mode, and global proxy are unclear, see the FAQ.

Installation and migration checklist

  1. Choose the right installer. Check the platform, processor architecture, and package format. Don't use an installer built for a different operating system.
  2. Keep your existing configuration. Record subscription sources and manual settings. Exported data may contain sensitive connection details, so store it securely.
  3. Test features separately. Verify a single connection first, then restore subscription groups, routing, DNS, and traffic-routing settings.
  4. Check for leftover system settings. Quit the old client and make sure its system proxy or VPN has been released before starting the new one, to avoid routing conflicts.

For an overview of how these clients fit into the ecosystem, see key concepts. Find all installation options in the download center.