Choose a client · Platform / Core / Traffic handling

v2rayN vs. v2rayNG
and v2flyNG

Choose a client for your device, then a core for your configuration.

Desktop rule editing and keeping a phone connected in the background are different needs. This comparison separates subscriptions, traffic routing, and traffic handling instead of judging compatibility by how similar the interfaces look.

Feature Comparison

Platforms, cores, and settings

This table compares how each client is used, not how fast it is. Interface labels, bundled cores, and permission requirements can vary by release. Check the installed version for specific features.

Swipe horizontally to see all three client columns on narrow screens.

Features and use cases: v2rayN / v2rayNG / v2flyNG
Category v2rayN v2rayNG v2flyNG
Platforms Windows, macOS, and Linux; use the release for your operating system. Android; choose an installer that matches your device architecture. Android; choose an installer that matches your device architecture.
Core Commonly used with Xray. Check the version and core configuration for V2Fly support; don't assume every release works the same way. Primarily used with Xray; supported protocols and fields still depend on the bundled core version. V2Fly-based; don't assume Xray-specific settings are universally supported.
Maintenance Actively maintained. Features may differ between the desktop and classic WPF editions. Actively maintained. App and core capabilities change with releases. An alternative for V2Fly setups. Check its own release history rather than assuming it follows the other clients' update schedules.
Ease of use Moderate. Learn to distinguish server selection, system proxy, and routing mode. Straightforward for basic connections. Import a config, select a server, then authorize the system VPN connection. Similar to common mobile workflows, but you'll need to check V2Fly config compatibility.
Subscription groups Manage multiple subscription groups and maintain update URLs and server lists by source. Supports subscription groups and updates, making it easy to organize configs by source on your phone. Supports subscription management. Grouping and update options depend on the installed version.
Routing rules UI The desktop editor makes it easier to review outbound tags, domain and IP match conditions, and rule order. Includes routing settings, though checking complex rules one by one takes more work on a small screen. Uses rules supported by V2Fly. Check the supported fields and editing interface separately.
TUN and traffic handling Supports the system proxy. TUN mode also depends on the required components, permissions, and platform environment. Typically uses Android's VPN service to route traffic through a virtual network interface. This is different from a desktop system proxy toggle. Typically routes traffic through Android's VPN service. Background restrictions and other active VPN connections can affect it.
Best for Desktop users who manage multiple subscriptions, adjust routing often, or review logs. Android users who need Xray configs and per-app traffic controls. Users with a compatible V2Fly config or a need to reproduce V2Fly core behavior.
Client Reviews

Same subscription, different workflows

v2rayN: Desktop subscription management and rule review

Top desktop pick

v2rayN is a good fit for desktop users who want to manage server lists and subscription groups, edit routing, and review core logs in one place. Importing a subscription and selecting a server doesn't automatically route your browser through the proxy: check the system proxy setting in the status bar, too. A common starting point is “Set system proxy” with the “Bypass mainland China (Whitelist)” routing mode. The first controls which apps use the client; the second controls how their connections are routed.

If you regularly edit rules such as geosite:cn and geoip:private, the desktop interface makes it easier to check their order and outbound tags. However, seeing proxy, direct, and block in a table doesn't mean every custom configuration uses those same tags. Check the generated config. Rules are matched from top to bottom, so specific exceptions often need to be checked first.

The Windows download page offers a desktop edition and a classic WPF edition. The desktop edition uses a cross-platform interface; the WPF edition retains the classic desktop workflow. Choose based on OS compatibility and the interface you're familiar with—not as if these were different protocols. On macOS and Linux, use the release for your system. TUN support also depends on permissions and runtime components.

Explore v2rayN downloads by platform →

v2rayNG: Android and Xray configurations

Top Android pick

v2rayNG brings the usual connection steps together on your phone: import a share link or subscription URL, update configs, select a server, start the connection, and authorize Android's VPN service. It's usually the first choice on Android for users with Xray-based configurations. Names such as VLESS and Trojan describe only part of a config; the transport, TLS, or REALITY settings must also match the server.

Android handles traffic differently from desktop. Once the app starts its VPN service, the system routes eligible traffic through the client; per-app routing lets you control which apps are included. If an app still connects directly, check whether it's excluded, then review routing and DNS instead of repeatedly switching between copies of the same subscription. Another app using Android's VPN service may also prevent the connection from starting.

For everyday phone use, background battery restrictions are often more important to check than interface features. If the connection drops when the screen locks or after switching networks, check background permissions and logs. Installers may be available for arm64 or as a universal package; arm64 is usually the best choice for newer mainstream devices. If you're unsure about your architecture, check the download page. Package size doesn't predict connection performance.

Explore Android client downloads →

v2flyNG: An Android alternative for V2Fly configs

For V2Fly setups

Choose v2flyNG for its core, not because an older phone will automatically run better with it. It's intended for the V2Fly ecosystem. If you already have a config that works with V2Fly or need to check specific V2Fly core behavior, consider it as an Android alternative. A similar interface doesn't remove differences between cores, so check the config fields and supported features after importing.

Be sure to distinguish subscription contents from the client's interface: a subscription may contain several types of configs, and seeing a name in the list only confirms that some of it was parsed. If a feature requires Xray, don't force the config to start by deleting fields that cause errors; doing so may change the security or transport requirements for the connection. Ask the configuration provider for a working V2Fly config before choosing this client.

Assess maintenance separately, too. An update to v2rayNG doesn't mean v2flyNG has gained the same features. Before installing, check its release notes, system requirements, and bundled core. During use, note errors you can reproduce. Android users who mainly use Xray configs and don't specifically need V2Fly will usually find v2rayNG easier to troubleshoot.

Explore the v2flyNG alternative →
Choose by Use Case

Recommendations for beginners, advanced users, and multi-device setups

Get one complete configuration working reliably before adding custom rules. A client may offer many options, but you don't need to configure them all to connect for the first time.

Before You Install

Check compatibility before downloading

Confirm which core your config requires

Check the protocol, transport, and security settings in your config before choosing a client. A protocol name such as VMess or VLESS alone doesn't guarantee full compatibility; additional transport fields may require specific core features even when the protocol is supported. If you're unsure about a config, ask its provider which core it requires instead of repeatedly installing different clients.

System proxy vs. TUN

Whether a desktop app follows the system proxy depends on how that app connects to the internet. If a program bypasses the system proxy, that doesn't necessarily mean your subscription has stopped working. Consider TUN, permissions, and DNS settings only if you need to route that traffic. Android's VPN service has its own traffic scope and system restrictions, so desktop status-bar checks don't apply.

Keep a record of working settings

Before switching clients, note the current routing mode, DNS method, subscription source, and app exclusions. Exported configs may contain connection credentials, so keep backups somewhere secure—not in public screenshots or troubleshooting posts. When reporting a problem, share only the relevant error details and redact subscription URLs and authentication parameters.

Troubleshoot by symptom

If the client starts but your browser can't open pages, check the system proxy or VPN routing. If subscription updates fail, check the retrieval method and whether the URL is valid. If the core reports a startup error, first look for config field or port issues in the logs. Don't blame every problem on the client. Follow the troubleshooting guide to investigate by symptom, or check the FAQ for common settings.

Download v2rayN