Choosing Guide / Platforms, cores, and setup options

V2Ray Client Comparison

v2rayN, v2rayNG, and v2flyNG: choose by device first, then check the core and how traffic is handled.

Top pick for desktop: v2rayN

Available for Windows, macOS, and Linux. Subscriptions, routing rules, and logs are managed in one desktop window, making it a good fit for users who regularly adjust their setup.

View Windows downloads →

Top pick for Android: v2rayNG

Powered by the Xray core. For everyday use, import a subscription and grant VPN permission. Consider v2flyNG if you specifically need a v2fly configuration.

View Android downloads →

The client manages configurations; the core handles protocols and routing. A different interface won't improve a connection on its own: server settings, your local network, and DNS behavior must still work together.

Feature comparison

How the three clients compare

This comparison is for choosing a client, not ranking performance. Menus, core combinations, and options vary by release; scroll horizontally on smaller screens.

Platform support, cores, and key settings
Comparison v2rayN v2rayNG v2flyNG
Platforms Windows、macOS、Linux Android Android
Core Typically Xray; V2Fly and other core options depend on the distribution and available settings Xray v2fly
Maintenance Actively maintained Actively maintained Community-maintained; updates follow a separate schedule. Check the release notes before choosing.
Ease of use Easy to import a basic configuration; system proxy, routing, and TUN require separate setup Easy to get connected; requires understanding VPN permissions and background activity limits Similar basic workflow to other Android clients; check v2fly configuration compatibility separately
Subscription groups Manage sources in one place for easy updates, filtering, and bulk actions Manage configurations by subscription source, with phone-friendly updates and switching Subscription management is available; grouping and filtering options depend on the current interface
Routing rules UI Edit desktop rules and manage rule sets; useful for checking match order Preset routing and custom settings are available; complex edits are limited by the phone screen Routing follows v2fly capabilities; don't assume Xray-specific fields are supported
TUN and traffic handling TUN mode is available; requires permissions, supporting components, and compatible system routing Routes traffic through Android's VPN interface; this is not the same as a desktop TUN switch Routes traffic through Android's VPN interface and requires system permission
Key features Subscription groups, routing rules UI, system proxy, and TUN settings Mobile subscription management, routing, per-app proxy, and Xray configuration An Android option for V2Fly configurations, useful for checking core-specific behavior
Best for Everyday desktop use, managing multiple subscriptions, and advanced setup Everyday Android use and configurations that require Xray support Users who specifically need the v2fly core and are prepared to check configuration differences

Client-by-client overview

Setup options and limitations

All three clients manage proxy configurations, but they serve different environments. Desktop use focuses on reviewing and editing; mobile use depends on system permissions and background connections.

v2rayN: desktop configuration and routing

v2rayN brings subscriptions, routing, and connection logs into a single desktop workflow. Create a separate subscription group for each source to update and filter configurations by source, while keeping context clear as you adjust rules. Users who regularly inspect domain rules, outbound tags, and DNS behavior will generally find the desktop interface easier than editing long configurations on a phone.

The Windows download page offers the desktop edition and the classic WPF edition. The desktop edition uses a cross-platform interface, while WPF retains the classic Windows interface. The main differences are the UI and distribution method; they don't indicate how fast the same server configuration will connect. On macOS and Linux, choose the download for your operating system, processor architecture, and package format. Windows edition labels don't apply to other systems.

For your first connection, enable the system proxy and check that browsers and other apps that follow system proxy settings can connect before trying TUN. TUN can route traffic from more apps that ignore system proxy settings, but it also adds variables such as virtual network adapters, permissions, DNS, and routing conflicts. TUN handles traffic capture; it doesn't force every connection through the same outbound. Routing rules still determine where traffic goes.

For core options, check what's available in your current distribution and which configuration is actually running. An option in the interface doesn't mean every core accepts the same fields. If you already have a stable setup, keep client settings and core settings documented separately, and save a recoverable copy before switching.

Windows downloads → · macOS downloads → · Linux downloads →

v2rayNG: everyday Android connections and Xray configurations

v2rayNG is the go-to choice for Android. The usual workflow is to add a subscription, refresh configurations, select one, then start the connection and approve Android's VPN permission request. This VPN is Android's interface for routing traffic; it doesn't mean the remote connection uses a particular VPN protocol. The proxy protocol depends on the imported configuration and the Xray core.

On phones, pay attention to battery optimization, background activity permissions, and other VPN apps. If a connection drops after the screen locks, the protocol may not be the problem; first check whether the system is restricting background activity. To route only selected apps through the client, review the per-app proxy settings and confirm whether the list includes or excludes apps. The two modes work oppositely.

v2rayNG offers routing presets and custom settings. Start with simple rules, then check that local network access, frequently used sites, and DNS resolution behave as expected before adding exceptions. Traffic sniffing and DNS changes can both affect rule matching. Change one setting at a time so you can use the logs to identify what changed.

Using the Xray core doesn't mean you can paste any Xray configuration into every interface. Share links, subscription formats, client-generated configurations, and full native configurations are different things. For services with special transport parameters, check that those fields survive import instead of relying on the configuration appearing in the list.

View v2rayNG for Android downloads →

v2flyNG: an alternative when you specifically need the v2fly core

Choose v2flyNG for its core, not because its interface looks familiar. Consider this Android client if you already have a V2Fly configuration, need to reproduce behavior specific to that core, or are troubleshooting against v2fly field documentation. If you're new to this, with no requirement to use a particular core, start with the standard v2rayNG setup instead.

Xray and V2Fly are part of related technical ecosystems, but their feature development and field definitions don't fully align. Don't assume Xray-specific extensions, transport parameters, or certain security handshake settings are supported by v2fly. Before migrating, check the protocol, transport layer, TLS, routing, and DNS settings one by one. For any field you're unsure about, consult the documentation for the relevant core rather than toggling settings at random.

Even with the same subscription source, clients can produce different results because they parse configurations differently and support different core features. If an entry works in another client, compare the imported parameters and error logs before deciding that you need a different core. v2flyNG has its own maintenance and release schedule, independent of v2rayNG. Check the current release notes and make sure your Android version is supported.

For a fair comparison, run only one client that uses Android's VPN interface at a time, and keep the network, server configuration, and routing targets as consistent as possible. Changing the core and network environment at the same time makes it hard to tell where a difference comes from.

View the v2flyNG Android alternative →

Choose by use case

Setup for beginners, advanced users, and multiple devices

Start with fewer variables, then add features. A basic setup you can reliably reproduce is easier to maintain than several advanced options enabled at once.

Bottom line

Download for your platform, then check your configuration

  1. Windows, macOS, and Linux: v2rayN is the top pick. Choose a package for your operating system and processor architecture. On Windows, pick the desktop or WPF edition based on your interface preference.
  2. Everyday Android use: v2rayNG is the top pick. Check that your configuration's Xray features are supported, then grant VPN permission and allow background activity.
  3. Android with a specific need for v2fly: Consider v2flyNG. Check protocol and field support before migrating a configuration; switching cores isn't a universal troubleshooting fix.

All three clients are free and open source. Open source means the code can be studied and maintained; it doesn't verify the subscription source or configuration. Treat subscription URLs as private because they may contain access credentials. Before sharing logs, remove subscription URLs, authentication fields, and server-identifying details.

If your current client already does what you need, there's no reason to switch just for a different name. For connection timeouts, first check your local network, system time, subscription status, transport settings, and server status. To understand the differences between protocols, cores, and subscriptions, start with the glossary. For specific usage issues, see Troubleshooting.

View downloads for all three clients