Client Comparison · Platforms and Cores

v2rayN vs. v2rayNG
and v2flyNG

For desktop, start with v2rayN; for Android, start with v2rayNG. Choose v2flyNG when you have a specific need for a v2fly configuration. Pick your platform first, then check protocol and core compatibility, and finally compare how each client handles management.

Scope: GUI clients, subscription management, routing, and traffic handling. Similar-looking interfaces do not imply configuration compatibility.

Feature Comparison

Start with the differences, then consider the trade-offs. Maintenance status is described qualitatively; features depend on the build and core included.

Swipe horizontally on narrow screens to compare the same feature across columns.

Platforms, cores, and everyday management
Feature v2rayN Top desktop pick v2rayNG Top Android pick v2flyNG Alternative core
Platform support Windows、macOS、Linux Android Android
Core options Xray is commonly used; other core options depend on the build and configuration type—don't assume v2fly is included Xray; protocol and transport support varies by core implementation v2fly; configure protocols and fields supported by this core
Maintenance Actively maintained; distinguish the desktop edition from the classic WPF edition Actively maintained; check Android compatibility and core updates Community-maintained; check required features and system compatibility before installing
Ease of use Basic connections are straightforward; routing, DNS, and TUN settings require careful configuration Everyday connections are simple; first use requires VPN permission and may involve background restrictions Basic use is similar to other Android clients; check v2fly configuration compatibility as well
Subscription groups Desktop grouping and list filters make it easier to manage multiple subscription sources Subscription management and group filters make switching on mobile straightforward Subscription management is supported; check import formats and available entries against the core
Routing interface Edit rules and switch presets on desktop to inspect rule order and outbound routing Mobile routing settings and per-app controls; limited screen space makes complex rule editing harder Includes routing settings; a similar interface does not mean its fields exactly match Xray
TUN and traffic handling Includes a desktop TUN option; requires the relevant components, system permissions, and routing setup Handles traffic through Android's VPN service; this is not the same as a desktop TUN switch Handles traffic through Android's VPN service and remains subject to background restrictions
Best for Desktop users who need detailed routing and centralized subscription management Android beginners, everyday mobile users, and anyone who needs Xray features Android users with existing v2fly configurations who need to reproduce that core's behavior

What to Know About Each Client

Here's how their management features, learning curves, and migration limitations compare.

v2rayN: Desktop Subscription and Routing Management

Top desktop pick

Choose v2rayN when you need to organize subscriptions, inspect rule order, or review logs on a computer. Its desktop lists show more configuration details at once, while subscription groups and routing settings are easier to adjust repeatedly. The benefit isn't inherently faster connections; it's greater visibility into what affects them: which core is active, whether an app uses the local listener, and which outbound a rule sends requests to.

For basic use, start with the system proxy. Import a subscription, select a working profile, and enable automatic system proxy configuration. Then test with an app that respects the system proxy. If an app isn't covered, check its own network settings first. Consider TUN only if you need broader traffic handling. TUN adds a virtual network adapter, permissions, and a DNS path, so don't enable it just because there's a switch in the interface.

The Windows download page offers a desktop edition and a classic WPF edition. The former uses a newer cross-platform interface; the latter retains the classic workflow. Choose based on your system and preferences—different interfaces don't necessarily mean different protocol support. On macOS, check the chip architecture; on Linux, check the package format and processor architecture. After installation, verify system proxy settings and TUN permissions separately.

v2rayNG: Everyday Android Use and Xray Configurations

Top Android pick

If you don't have an existing core requirement, start with v2rayNG on Android. Import subscriptions, choose a profile, and connect from one mobile interface—handy for everyday network and profile switching. It uses the Xray core, but support for a given protocol combination depends on whether the included core supports the required transport, security settings, and extended fields. A protocol name such as VLESS or VMess alone doesn't guarantee that a configuration will work.

On Android, the key difference is how traffic enters the client. The VPN permission prompt during connection sets up a local traffic-handling tunnel; it isn't a step for buying a service or importing a subscription. Actual traffic coverage still depends on routing rules, per-app settings, and system restrictions. If another app is already using Android's VPN service, resolve that conflict first—don't assume both VPN connections can run as expected at the same time.

If the connection drops when the screen turns off or takes a while to recover after a network switch, check battery optimization, background activity, and the current network before blaming the configuration. You can work out complex routing logic on desktop first, but don't copy the entire v2rayN configuration directory to your phone. Subscription data and client preferences are separate; sharing a connection doesn't sync all DNS or per-app rules.

View v2rayNG installation options

v2flyNG: An Android Alternative for Existing v2fly Configurations

v2fly core

v2flyNG is best for users with a specific requirement: an existing configuration written for v2fly, or a need to reproduce that core's behavior on a phone. A similar name doesn't make it a drop-in replacement for v2rayNG. Protocol extensions, transport implementations, and configuration fields may differ. Choose based on server requirements, not merely whether the import button recognizes a share link.

For example, seeing a subscription in the list only means the client recognized some of its contents. A successful connection also depends on correctly preserved transport settings and encryption or security parameters. Don't expect features supported only by a specific Xray implementation to keep working with the v2fly core. Conversely, after migrating a configuration designed around v2fly behavior, verify routing and DNS results again.

If you have no specific compatibility reason, v2rayNG is still the better starting point for Android beginners because it means fewer variables to learn at once. If you do need v2flyNG, back up your settings, test a known configuration first, then restore subscriptions and routing gradually. Change one thing at a time when troubleshooting to identify whether the difference comes from import conversion, core support, or system-level traffic handling.

View v2flyNG installation options

Choose by Use Case

Base your choice on your device and configuration needs—not on how many features a client offers.

What to Check Before Switching Clients

Check connection details, client settings, and system conditions separately to avoid repeating the same troubleshooting steps.

  1. Record the connection details. Check the protocol, transport, and security settings. Subscription URLs may contain credentials, so don't include them in public screenshots or logs. When migrating with a share link, make sure the new client preserves every required field.
  2. Keep the original configuration for reference. Back it up, then test a single profile in the new client. Don't delete the old groups or run two system proxies or VPN traffic handlers at once before migration is confirmed; test requests could take the wrong route.
  3. Rebuild local network settings. Configure listening ports, DNS, routing presets, and per-app lists separately. Check rules from top to bottom and put the fallback rule last. A successful connection is only the first step—also verify that traffic meant to go direct and traffic meant to use the proxy take the right paths.
  4. Test your everyday setup last. After basic tests pass, check restart, screen-off, and network-switch scenarios. If the core fails to start, first check the logs for configuration or port errors. Follow the Troubleshooting guide to investigate each issue; there's no need to switch clients immediately.
The Bottom Line

Choose a platform first, then consider core requirements

Start with v2rayN on desktop and v2rayNG on Android. Reserve v2flyNG for specific v2fly compatibility needs. All three are open-source GUI tools; none provides a subscription service or replaces server-side configuration.

When downloading, check the processor architecture, package type, and system requirements. If protocol names, subscription formats, or routing terms are unfamiliar, consult the Glossary before deciding whether you need advanced options.

Choose a Platform and Package
Download v2rayN