Choosing a Client / Platforms and Cores

V2Ray Client Comparison
v2rayN and Android Clients

Choose a client for your device, then check that its core supports your configuration. v2rayN is the top desktop pick; v2rayNG is the top Android pick. Consider v2flyNG when you already have a V2Fly configuration.

  • First, check your operating system and processor architecture
  • Next, check the protocol, transport, and security settings
  • Finally, choose how to manage subscriptions and route traffic

Compare the Three Clients

Start with the platform. If a client doesn't support your device, there's no need to compare its other features.

Swipe horizontally to view the table on smaller screens. Features can change between releases; these descriptions are for comparing clients and don't guarantee that every older version includes the same capabilities.

Platform, core, and configuration differences
Comparison v2rayN Top Desktop Pick v2rayNG Top Android Pick v2flyNG Android Alternative
Platforms Windows, macOS, and Linux; choose the installer for your platform. Android; choose the arm64 or universal build for your device. Android; choose the arm64 or universal build for your device.
Core Typically uses Xray. Other core options and available features depend on the current release; don't assume that every V2Fly configuration is supported. Xray core; supported protocols and transports depend on the core bundled with the app. V2Fly core; don't assume configurations are compatible based on Xray features.
Maintenance Actively maintained. The desktop and classic WPF editions may have different interfaces. Actively maintained. Consider both app features and core capabilities. Check its maintenance status separately; v2rayNG's update history is not a reliable indicator.
Ease of use Basic imports are straightforward; understand system proxy, routing, and TUN as separate settings. Basic connection steps are grouped together; Android requires VPN authorization the first time you connect. The interface is straightforward; check subscription and core compatibility before getting started.
Subscription groups Group subscriptions to manage multiple sources from one desktop app. Manage subscriptions and update configurations by source. Subscription management is available; supported formats depend on the current app version.
Routing interface Manage routing and rules in the interface, with options to inspect routing conditions individually. Includes mobile routing settings and per-app proxy options. Includes routing settings; available rules depend on the app and V2Fly core.
TUN and traffic capture Desktop TUN mode is available. Permissions, virtual network adapters, and system settings can affect whether it works. Routes traffic through Android's VPN service; setup differs from toggling desktop TUN mode. Routes traffic through Android's VPN service; check system permissions and which apps are covered.
Best for Desktop users who want subscription groups and detailed routing controls. Android users with Xray-compatible configurations who need per-app proxying. Android users with an existing V2Fly configuration or a specific need to test V2Fly compatibility.
Downloads Windows · macOS · Linux View v2rayNG downloads View v2flyNG downloads

Desktop / Subscriptions and Routing

v2rayN: The First Choice for Desktop

For Windows, macOS, or Linux, start with v2rayN. Its desktop window brings together server lists, subscription groups, logs, and settings, making configuration easier to review with a keyboard and mouse. The benefit isn't simply having more options: when something goes wrong, you can check whether the subscription updated, the right server is selected, the system proxy is set, and routing sends the connection through the intended outbound.

Establish a basic connection before routing more traffic

When you first open the client, save your subscription URL under “Subscription groups,” update it, and select a server. Then set the system proxy to “Auto-configure system proxy.” Once you've confirmed that your browser connects, explore routing rules. The system proxy determines how apps send traffic to the client; routing determines what happens to traffic once it arrives. Confusing the two can lead to a browser that works while other apps remain unaffected.

Consider TUN mode only if you need to route traffic from apps that don't use the system proxy. TUN involves a virtual network interface, permissions, and DNS behavior, and isn't required for a basic connection. Before enabling it, note your existing proxy and routing settings. If something goes wrong, turn off TUN and return to the system proxy setup you've already verified to narrow down the cause.

Choose between the Desktop and classic WPF editions

The Windows download page offers the Desktop edition and the classic WPF edition. Desktop uses a newer cross-platform interface; WPF retains the classic Windows interface. If you're used to one, choose the interface you're more comfortable with—there's no need to switch just for a new look. On macOS and Linux, choose the installer for your platform; Windows interface instructions and permission steps may not apply.

If your subscription uses less common transport or security settings, check which core is actually in use. Being able to parse a share link doesn't guarantee that the bundled core supports every field in it. For a complete walkthrough, see the v2rayN setup guide.

Android / Everyday Connections

v2rayNG: The First Choice for Everyday Android Use

On Android, start with v2rayNG. It uses the Xray core and works well for users with Xray-compatible subscriptions or share links. Importing a configuration, selecting a server, and starting the service are all straightforward, making it easy to check your connection on your phone. For regular use, adjust subscription updates, routing, and per-app proxy settings as needed. Avoid changing every option before making your first connection.

Grant Android VPN permission first

The VPN connection request shown at startup comes from Android. Once you grant permission, the app uses Android's VPN service to route traffic within the scope of your settings. This is different from a desktop browser using the system proxy, so you won't find a mobile equivalent of Windows' “Auto-configure system proxy” in the system tray. Seeing the VPN indicator only confirms that the service is running; test the apps you want to use as well.

Android's background restrictions can also affect reliability. If the connection works in the foreground but drops when the screen is locked, check the battery and background activity restrictions for v2rayNG before blaming the server. For per-app proxying, check whether the list uses allowlist or blocklist mode. Choosing the wrong mode can route only a few apps or exclude apps that should be covered.

Core support doesn't guarantee compatibility

Even within the Xray ecosystem, an older release may lack features required by a newer configuration. If an import fails or startup reports an error, check the logs, app version, and configuration requirements before switching clients. Installing another app won't fix an expired subscription, an incorrect address, or invalid server settings.

Android / V2Fly Configuration Compatibility

v2flyNG: Choose It Only When You Need V2Fly

v2flyNG is an Android alternative for the V2Fly core. Choose it if your configuration specifically targets V2Fly or you need to reproduce behavior with that core—not because you think it's a lightweight or older version of v2rayNG. The names are similar, but that doesn't make their configuration syntax and feature support interchangeable.

Check the protocol and security layers first. Names such as VMess and VLESS are only part of a configuration; the transport, TLS settings, and other security parameters also determine compatibility. In particular, importing a link doesn't prove that the V2Fly core can run configurations that rely on Xray-specific features. For requirements such as REALITY or XTLS Vision, check support in the relevant core; changing the client’s displayed name won't help.

Check maintenance status separately, too. Don't assume v2flyNG updates as often as v2rayNG. Before installing, confirm that the current release supports your Android version, then check startup logs and test connectivity after importing your configuration. If you don't specifically need V2Fly compatibility, v2rayNG remains the better starting point for everyday Android use and avoids unnecessary switching between core families.

Narrow down your options by use case

Four Things to Check Before Installing

  1. Check the platform and architecture. On Windows, choose between Desktop and WPF. On macOS, check whether you have Apple Silicon or Intel. On Linux, choose the right deb or rpm package and processor architecture. On Android, check whether the arm64 or universal build supports your device.
  2. Check which core the configuration targets. Note its protocol, transport, and security requirements. If it depends on core-specific features, confirm support before installing multiple apps to try your luck.
  3. Decide which apps need traffic routing. On desktop, test the system proxy first and use TUN only if needed. On Android, grant VPN permission and check the per-app proxy scope. Don't run multiple services that route the same traffic.
  4. Test a basic connection before migrating. Keep any notes you need from the old configuration, but don't share subscription URLs or authentication details. Test one configuration before organizing groups and routing. See how to import a subscription and how to verify your connection.

Clients don't include ready-to-use server configurations. Choosing a client answers which app to use for managing connections; it doesn't provide a working subscription, correct settings, or a reliable network. App names alone don't determine speed. Compare clients using the same configuration and similar network conditions, and use logs to investigate differences.

Which Client to Choose and Where to Download

Choose v2rayN for desktop and v2rayNG for Android. Consider v2flyNG only when your configuration specifically requires the V2Fly core.

On the download page, choose a package for your operating system and processor architecture. More features don't automatically make a client a better fit; compatibility with your configuration and ease of maintenance matter more.