Desktop and Android picks

V2Ray client comparison

Choosing between v2rayN, v2rayNG, and v2flyNG? Start with your operating system, then consider your core and configuration needs.

Top desktop pick: v2rayN

Use v2rayN on Windows, macOS, or Linux. Its desktop interface makes it easier to manage multiple subscription sources, edit routing rules, and review connection logs. On Windows, choose between the desktop and classic WPF versions based on the interface and runtime requirements.

View client installation options

Top Android pick: v2rayNG

For everyday Android use, start with v2rayNG. It uses the Xray core and routes traffic through Android's VPN service. Consider v2flyNG if your configuration specifically requires the V2Fly core; don't switch just because the names look similar.

View Android clients

Platform, core, and feature differences

Maintenance status is a general guide, not a promise about update frequency. Exact features and availability depend on the build you install.

On narrow screens, swipe horizontally to see the full comparison.

Compare v2rayN, v2rayNG, and v2flyNG by platform support and configuration features
Comparison v2rayN v2rayNG v2flyNG
Platform support Windows, macOS, and Linux; the classic WPF version is Windows-only Android Android
Core Xray is commonly used; available cores and switching options depend on the build and configuration type Xray V2Fly core
Maintenance Actively maintained; check compatibility separately for the desktop and WPF versions Actively maintained; features may change as the app and core are updated Check release notes for the current maintenance cadence; an alternative when you specifically need V2Fly
Ease of use Basic imports are straightforward; system proxy, routing, and TUN require separate setup Import a configuration and grant Android VPN permission to get started; check background restrictions separately The basic workflow is similar to other Android clients; check protocol compatibility before choosing it
Subscription groups Organize sources into groups, manage servers in bulk, and update subscriptions separately Supports subscription groups and updates for easy switching on mobile Subscription management is available; grouping options depend on the installed version
Routing UI Routing settings and rule editor make it easier to manage and order rules in one place Includes routing settings; complex setups still require an understanding of rules and core-specific fields Configure routing for V2Fly; don't use fields that are exclusive to Xray
TUN and traffic handling Supports TUN mode; availability depends on system permissions, components, and platform Routes traffic through Android's VPN service; the setup differs from the desktop “Enable Tun” option Routes traffic through Android's VPN service and requires system permission
Per-app proxy Relies mainly on system proxy, TUN, and routing rules—not Android's per-app selection Supports per-app proxy settings to route or bypass selected apps Choose which apps to route using the per-app options available in the interface
Best for Desktop users, people managing multiple subscriptions, and users who need fine-grained routing or DNS control Android beginners and users who need Xray protocol support or per-app settings Android users with existing V2Fly configurations or a specific need for V2Fly core compatibility

Client reviews

Focus on everyday effort and configuration limits—not feature counts or rankings.

v2rayN: centralized desktop management

Top desktop pick

v2rayN brings subscription groups, server lists, system proxy settings, routing, and logs into one desktop workflow. Name and update subscriptions from different sources separately. If a connection fails, you can check the logs and adjust settings side by side. It's more convenient than inspecting long configuration fields on a phone when you regularly switch between setups.

When downloading v2rayN for Windows, choose between the desktop and classic WPF versions. The desktop version uses a cross-platform interface, also used on macOS and Linux; the WPF version is Windows-only. Neither version is a faster or slower tier, and a newer-looking interface doesn't guarantee compatibility. Check your operating system, processor architecture, and runtime requirements, then choose based on your workflow. Back up your configuration before switching builds, and don't let both versions write to the same data directory at once.

TUN is a key use case, but you don't need to enable it on first launch. Start by testing your browser through the system proxy, then work on apps that don't use it; this makes issues easier to isolate. If you enable TUN, check administrator permissions, routing loops, and DNS settings. If you only need proxy access in a browser, the system proxy may be enough.

Best fit: desktop users who need fine-grained control—not users expecting Android-style per-app checkboxes. Check the core and configuration type in use to see whether a particular field is supported.

View Windows options

View macOS options · View Linux options

v2rayNG: everyday Android connections

Top Android pick

v2rayNG uses the Xray core. For most Android users, the workflow is simple: import a subscription, update servers, choose a configuration, and connect. The system VPN permission prompt on first launch is expected. It lets the app create a local virtual network interface to route traffic, but granting permission doesn't mean the remote connection works. Confirm it with a real connection test and the logs.

A common mobile setup is to proxy some apps while keeping others on a direct connection. In Settings, look for “Per-app proxy.” First check whether the list controls apps to proxy or apps to bypass, then select the apps you want. These modes use opposite list meanings, so don't rely on the checkmarks alone. Reconnect after making changes so an existing session doesn't hide the result.

Background reliability often depends on system settings, not just the core. If a connection drops after a while, check battery restrictions, background activity permissions, and whether another app is using Android's VPN service. You can adjust advanced routing and DNS later, but beginners should avoid enabling several features at once. Start with a minimal setup and test each change separately to narrow down issues.

Best fit: users who need protocols supported by Xray. Phone memory, Android version, and battery policies still affect performance; switching apps won't solve every issue.

View v2rayNG Android installation options

v2flyNG: an alternative for V2Fly configurations

V2Fly core

Choose v2flyNG for its V2Fly core, not because its name is closer to V2Ray. If your existing configuration uses V2Fly-specific fields and its documentation targets that core, staying within the same core family can make behavior easier to verify. It's still a graphical Android client, with a familiar mobile workflow for importing subscriptions and granting VPN permission.

Xray and V2Fly share some technical history, but their features have evolved separately. Similar share-link prefixes don't guarantee compatible transport parameters, encryption, or extension fields. Core-specific features won't work just by changing the client name. If a configuration imports and displays, that only means the client recognized some of its details—not that the core can connect with it.

That makes v2flyNG a better fit as an alternative when you have a clear compatibility need. Before installing, check the app's Android version and processor architecture requirements, then confirm the protocols your subscription needs. Use release notes to assess maintenance, settings, and feature coverage. Don't assume that an alternative is unmaintained—or that it uses less battery or works better on older devices.

Best fit: if you don't specifically need V2Fly, start with v2rayNG on Android. Before migrating, keep your original configuration and test with one configuration you know works.

View v2flyNG alternative

Choose by use case

Start with the problem you need to solve; add configuration complexity only if needed.

Three things to check before installing

After choosing a client, check the installer and configuration to avoid switching back and forth.

  1. Match the platform to the package. On Windows, choose the desktop or WPF version; on macOS, check whether you have Apple Silicon or Intel; on Linux, check the package format and architecture; on Android, check arm64 and universal builds. Don't assume a file labeled “universal” works on every operating system.
  2. Match the configuration to the core. Make sure the current core recognizes the protocols, transport, and security settings your subscription needs. If a field isn't supported, check the configuration and core instead of repeatedly updating the subscription. For unfamiliar terms, see the protocol and core glossary.
  3. Match the traffic handling method. On desktop, distinguish between the system proxy and TUN; on Android, check VPN permission and what the per-app list means. Change one setting at a time and keep a copy of a configuration you can restore.

There's no need to rank clients by feature count: v2rayN is the top desktop pick, v2rayNG is the top Android pick, and v2flyNG is for users who specifically need V2Fly. All three depend on your configuration, system permissions, and network environment. A simpler interface alone can't guarantee a working connection.

Once you've chosen a platform, go to client installation options and select the right package. If you've installed a client but can't connect, check the FAQs before switching apps.