Platforms, cores, and configuration

V2Ray client comparison: v2rayN, v2rayNG, and v2flyNG

Start by narrowing down your options by operating system, then check which core your subscription requires, and compare how each client handles configuration. For desktop, start with v2rayN; for Android, start with v2rayNG. Consider v2flyNG if you already have a V2Fly configuration.

This page compares each client’s features and workflows, not performance. The same subscription can behave differently across devices due to network conditions, server configuration, and system permissions, so the client name alone does not determine compatibility.

Compare the Features of Three V2Ray Clients

A client imports configurations, displays servers, manages connections, and calls the core. The core handles protocols and forwards traffic. These are separate layers. A client’s ability to import a link does not guarantee that its current core supports every transport and security setting in that link.

Maintenance status is a general indicator, not a promise that every feature is updated at the same time. Check the download page and current package for actual menu names, core options, and system requirements. On narrow screens, scroll the table horizontally.

Platform and usage differences between v2rayN, v2rayNG, and v2flyNG
Comparison v2rayN v2rayNG v2flyNG
Platform support Windows、macOS、Linux Android Android
Core Can manage cores such as Xray; v2fly availability depends on the release package and configuration options Xray core v2fly core
Maintenance Actively maintained Actively maintained Actively maintained
Learning curve Basic imports are straightforward; understand system proxy, TUN, and DNS separately Short setup for basic use; requires VPN authorization and background settings Similar basic workflow to comparable Android clients; check core compatibility
Subscription groups Manage multiple subscription groups, filter servers, and update them individually Organize configurations by subscription for easy selection and updates on a phone Manage subscription configurations; grouping and filtering depend on the current interface
Routing UI Desktop rule editor and list management suit users maintaining many rules Includes routing settings; check which options are available for complex rules Includes routing settings; available fields and behavior depend on v2fly
TUN and traffic handling Includes TUN settings; system permissions and supporting components may be required Routes traffic through Android’s VPN service; this is not the same as a desktop TUN toggle Routes traffic through Android’s VPN service; this is not the same as a desktop TUN toggle
Best for Desktop users, users with multiple subscriptions, and anyone who needs a visual routing manager Android beginners and users with Xray configurations Users with existing V2Fly configurations or a specific need for the v2fly core
Download Windows / macOS / Linux Android:v2rayNG Android:v2flyNG

v2rayN: Desktop Subscription and Routing Management

v2rayN’s main advantage is its desktop management interface. Create separate groups for multiple subscription sources, update them individually, and filter the server list. Compared with navigating settings repeatedly on a phone, the desktop list makes it easier to review rule order, organize configuration names, and check logs. This convenience comes from the interface, not from adding more subscriptions improving connection quality.

Choosing Between the Desktop and Classic WPF Versions

The Windows download section offers a desktop version and a classic WPF version. The desktop version uses a newer cross-platform interface, making it a good fit if you want a similar workflow across desktop operating systems. The WPF version retains the classic interface and suits Windows users who already know their way around it. Interface differences do not indicate connection speed; choose based on system requirements and your existing workflow.

On macOS, check whether your processor is Apple Silicon or Intel. On Linux, check your processor architecture and the package format for your distribution. Don’t install a package just because its file extension looks familiar; the download page lists options by platform and architecture.

Configure System Proxy and TUN Separately

When getting started, use the system proxy to test your browser connection. Confirm that your subscription, server, and basic routing settings work before trying TUN. The system proxy mainly affects apps that follow the system proxy settings. TUN typically handles more traffic and is more likely to interact with existing network tools, DNS settings, and permissions. Enabling TUN is not a universal fix for connection problems.

For desktop users managing multiple subscriptions, routing specific domains separately, or troubleshooting how apps connect, v2rayN makes it easier to follow a clear process. Before advanced changes, keep a restorable copy of your configuration and adjust one setting at a time. Read the routing rules guide →

v2rayNG: The Go-To Choice for Everyday Android Connections

Powered by the Xray core, v2rayNG is a good starting point for Android users. The basic workflow is to import a subscription or share link, refresh the configuration list, select an entry, then connect and authorize the system VPN service. Beginners can avoid confusion from changing several settings at once by leaving routing and DNS at their defaults initially.

Updating Subscriptions and Configuring Routing

On a phone, subscription management is usually about finding the configuration you need quickly, not displaying as much information as possible. Save subscriptions by source, give them recognizable names, and check that your selected configuration is still there after an update. A subscription provider may replace or remove entries when updating its content; that does not necessarily mean the client failed to import them.

v2rayNG includes routing settings, but they do not necessarily correspond one-to-one with v2rayN’s desktop rule editor. Before migrating complex rules, check domain matching, IP matching, outbound tags, and DNS handling, then test them on your phone. If your setup depends on a specific Xray feature, confirm that the core bundled with your current client supports it.

Check Background Permissions Before Switching Clients

If your connection drops when the screen locks, first check system restrictions on background activity, battery optimization, and the VPN service. Android VPN authorization lets a client route traffic through the system; it does not guarantee that every app will use the same path as expected. Per-app proxy settings, other VPN services, and network changes can all affect the outcome.

If you use Xray configurations and want a straightforward way to connect on your phone, start with v2rayNG. When a connection fails, save the logs and troubleshoot step by step; this is more likely to reveal the cause than switching between clients repeatedly. Read the subscription import and connection guide →

v2flyNG: An Android Alternative for V2Fly Configurations

Powered by the v2fly core, v2flyNG suits users familiar with V2Fly configurations or those who specifically need to test how this core behaves. It is not a separate tier for older devices, nor is it simply a lightweight version of v2rayNG. Core compatibility—not the similarity of the names—is the key difference to check first.

Use It When the Core Can Interpret Your Configuration

If your existing configuration uses protocols and transport settings supported by V2Fly, you can import it into v2flyNG and test it. If it contains Xray-specific fields or features, switching clients will not automatically provide equivalent support. A successful import only means the text was accepted; check the startup logs and connection results as well.

Subscription groups, rule menus, and import options may change as clients are maintained. When following a tutorial, first distinguish between GUI options and core configuration fields. The former may simply have been renamed; the latter can determine whether a configuration works. If something differs, don’t overwrite your configuration with one from another client.

A Useful Alternative When You Have a Specific Need

If you’re new to subscriptions on Android, start with v2rayNG to follow this site’s beginner guides more easily. Choose v2flyNG when your existing configuration, troubleshooting goal, or workflow specifically calls for v2fly. During testing, run only one VPN connection at a time so that switching between system VPN services is not mistaken for a core issue.

View the v2flyNG and v2rayNG download options →

Choose by Experience, Devices, and Phone Age

You don’t need to know every protocol before choosing a client. Note your device, where your configuration comes from, and what you’re trying to solve; that’s usually enough to make a practical choice. The recommendations below minimize variables first, then introduce advanced features as needed.

Prepare Your Configuration Before Switching Clients

Switching clients can address a platform or core mismatch, but it can’t replace checking your network and configuration. If your current client suddenly stops connecting, first check whether your subscription has expired, the configuration has changed, the system clock is correct, or another network tool is routing traffic. If the cause is still unclear, record the error before migrating so the problem doesn’t follow you to the new client.

Keep the Source; Migrate What You Can Reuse

  1. Keep a record of your subscription source. Save the working subscription URL and group names instead of relying on the imported list alone. Subscription links may contain access credentials; don’t post them in public screenshots or issue reports.
  2. Distinguish share links from full configurations. A share link usually describes one connection; a full JSON configuration may also include local listeners, routing, and DNS. A client-generated full configuration may not be reusable as-is in another client.
  3. Check core-specific fields. Confirm that the target core supports the protocol, transport, and security settings. If a field isn’t recognized, check what it does rather than deleting fields at random just to make the configuration start.
  4. Enable features in stages. First verify that a basic configuration connects, then restore routing, DNS, and traffic handling settings. Test after each stage and keep the last working configuration.

How to Tell When Migration Is Complete

Seeing the client report that it’s running is only the first step. On desktop, check that your browser follows the system proxy and that terminal apps needing network access are configured to use a proxy if required. On Android, check whether the target app is covered by traffic handling. Then test services that should connect directly and through the proxy, and use logs to confirm which rules matched instead of relying on the connection icon alone.

Routing tags are not universal button names shared across clients. In a configuration, direct, proxy, and block must refer to actual outbound definitions; rule text without a matching outbound does not make a complete configuration. To understand rule order, read the routing rules section.

Recommendations and Download Options

For desktop, start with v2rayN; for Android, start with v2rayNG. This recommendation is based on platform support, everyday setup, and management—not made-up speed scores. Keep v2flyNG as an Android alternative if you need V2Fly configurations. Without a specific core requirement, there’s no need to maintain two mobile setups just for comparison.

Desktop: v2rayN

Recommended for desktop

A good fit for everyday use and advanced management on Windows, macOS, and Linux. Match the package to your operating system and processor architecture, then choose the interface you’re familiar with. If you need TUN, configure it after verifying a basic connection.

The download page lists packages by platform, with installation options and system requirements.

Android:v2rayNG

Recommended for Android

A good fit for connecting on your phone with Xray configurations. If you specifically need v2fly, choose v2flyNG in the same download section. Both clients require attention to system VPN authorization and background restrictions.

If you’re unsure which architecture you need, read the download guide first. Don’t guess device compatibility based on the client’s name.