Start by identifying your device platform, then check which core your nodes require. Subscription management, routing rules, and traffic capture determine how much configuration you'll need.
All three are GUI clients: the interface organizes subscriptions, lets you choose servers, and generates runtime configurations, while the core handles protocol processing. Similar names don't mean identical settings, nor do they guarantee that a particular node will work. This comparison focuses on each client's intended use. For exact toggle names, routing controls, and core combinations, check the installed version.
On narrow screens, scroll the table horizontally. Maintenance notes are qualitative and don't promise a particular update schedule.
Platforms, cores, and key features of v2rayN, v2rayNG, and v2flyNG
Comparison criteria
v2rayN
v2rayNG
v2flyNG
Platform support
Windows / macOS / Linux
Android
Android
Core options
Supports configurations using cores such as Xray and V2Fly; availability varies by version
Xray
V2Fly
Maintenance status
Actively maintained; feature locations may vary across interface branches
Actively maintained; configuration capabilities evolve with core updates
Alternative maintenance track; check client and core updates before choosing
Ease of setup
Basic imports are straightforward; routing, DNS, and TUN require some learning
Subscription imports are straightforward; check VPN permission and background settings
Straightforward with an existing V2Fly setup; switching cores requires extra checks
Subscription groups
Useful for grouping subscriptions by source, filtering entries, and managing multiple subscriptions
Manages subscriptions and their server entries for easy switching on mobile
Supports subscription management; importable entries depend on core compatibility
Routing rule interface
The desktop interface is better suited to managing presets and longer custom rules
Includes routing and per-app proxy settings; verify the generated configuration for complex setups
Designed for V2Fly routing configurations; interface features depend on the version
TUN and traffic capture
Includes TUN features, subject to core, permissions, and system requirements
Uses Android's VPN interface to create a virtual network interface; this isn't the same as a desktop TUN toggle
Captures traffic through Android's VPN interface, subject to system permissions and background policies
Best for
Desktop users, people managing multiple subscriptions, and advanced routing or DNS users
Everyday Android users and those who need Xray features or per-app proxying
Users with existing V2Fly configurations who need to preserve that core's behavior
v2rayN: desktop subscriptions and routing
For desktop, start with v2rayN. It brings server lists, subscription groups, system proxy settings, and routing into one workflow, making it a good fit for managing multiple subscription sources over time. Groups do more than tidy up a list: when you update a source, you can see which entries belong to it and avoid mixing same-named servers from different sources. Filtering and renaming make management easier but don't change a server's protocol or connection quality.
The Windows download page offers two options: the desktop edition and the classic WPF edition. The desktop edition uses a newer cross-platform interface, while the classic WPF edition retains a familiar desktop workflow. Choose based on your interface preferences and required settings; the interface branch isn't a measure of connection speed. On macOS and Linux, first check your CPU architecture and package type, then follow the same basic steps: import a subscription, choose a server, and configure the proxy.
For advanced users, v2rayN's desktop workspace makes it easier to inspect long rules and multiple configuration fields. However, multi-core support doesn't mean every field can be reused unchanged across cores. After switching cores, recheck the protocol, transport, DNS, and custom outbound settings. For TUN, also check permissions, virtual network interfaces, and possible conflicts with other networking tools. If you only need proxy access in a browser, start by learning about system proxy mode; TUN doesn't have to be part of your first setup.
Trade-off: Centralized management offers more control, but also more settings to adjust. Beginners should keep the routing preset and explore the V2Ray routing rules guide after getting familiar with basic connections. Choose the right platform package from the download center.
v2rayNG: the everyday choice for Android
For Android, start with v2rayNG, especially when your node explicitly requires Xray features. The usual workflow is to add a subscription, refresh the server list, select an entry, and connect. The first launch requires Android VPN permission. That prompt doesn't mean a remote connection is established; it only means the client is ready to route traffic through the system interface. After connecting, verify that websites load, DNS resolves, and the apps you need work.
The main differences between mobile and desktop come from how the operating system works. Android background restrictions, battery optimization, and other VPN services can all affect connection stability. If the connection drops after you switch apps, check background settings and system notifications before changing protocols. Per-app proxying is useful when only selected apps should be handled by the client, but it operates at a different level from domain-based routing: the former decides which apps are captured, while the latter determines which outbound route captured requests use.
v2rayNG works well for quick switching and everyday maintenance on a phone, but complex desktop configurations shouldn't be transferred without review. After importing, check that server fields, routing choices, and DNS settings were preserved. For features such as REALITY, make sure all subscription parameters are present; seeing a protocol name alone doesn't mean the configuration is complete. The same subscription may behave differently on a phone and a computer because of core versions and system policies.
Trade-off: Android is quick to set up, but stability still depends on system settings and node requirements. New users can start with the subscription import guide, then visit the v2rayNG Android download page to choose the right architecture.
v2flyNG: choose it for V2Fly configurations
v2flyNG is an Android alternative for users following the V2Fly core route. Choose it when an existing configuration depends on V2Fly behavior, you need to reproduce that core environment, or you want to keep an established workflow. It's not automatically a lightweight replacement just because your phone is old, and its name being similar to v2rayNG doesn't mean the clients share protocol fields or feature locations.
A successful subscription import only means the client can read its contents; it doesn't guarantee that every server entry meets the current core's requirements. Before switching to v2flyNG, check the node's protocol, transport, and other dependencies. In particular, don't assume Xray-specific features are available in V2Fly. If the configuration instructions specify a particular core, follow those instructions rather than repeatedly trying the same share link.
For most Android users without a specific V2Fly configuration requirement, v2rayNG is the easier starting point for following this site's guides. If you do need V2Fly, choose v2flyNG from the Android downloads section and verify subscription parsing, connectivity, and routing separately. Maintenance status and core support can change, so check the installed version's feature notes rather than relying only on screenshots from older guides.
V2Ray protocols and core differences
When choosing a client, distinguish between three layers: the client provides the interface; Xray and V2Fly are core implementations that handle connections and routing; VLESS, VMess, Trojan, and Shadowsocks are protocols that must be supported by both client and server. Project V provides context for understanding the ecosystem, but the ecosystem's name doesn't guarantee that every feature is compatible.
Xray configuration requirements
If a node explicitly requires features such as REALITY or XTLS Vision, confirm that your client and its Xray core support the specific combination. On Android, check v2rayNG first. On desktop, verify the core in use and the server parameters in v2rayN.
V2Fly configuration requirements
For an existing V2Fly configuration, check which protocol and transport combinations the current core supports. On Android, consider v2flyNG. On desktop, verify the available core options and configuration controls in your version of v2rayN.
REALITY and VLESS aren't interchangeable options at the same layer; REALITY is commonly used with specific protocol, transport, and security settings. Sharing a protocol name doesn't mean clients support the same extensions. The most reliable check is to match each server requirement to a client field rather than judging by the share link's prefix.
Core names alone don't determine connection speed. Server load, network routes, transport settings, and local DNS all affect performance. To compare clients, use the same server, similar test conditions, and consistent routing targets. A single latency test can't represent long-term performance or establish a fixed ranking for these three clients.
Choose by use case
What to check before downloading
Check your device. Use v2rayN on Windows, macOS, or Linux. On Android, start with v2rayNG and consider v2flyNG only for a specific V2Fly requirement.
Choose the right package. On desktop, check the interface branch, CPU architecture, and package format for your distribution. On Android, check system requirements and choose between arm64 and the universal build.
Check your node requirements. Find out which protocol, transport, and core are required. Downloading a client doesn't provide a working subscription or server.
Verify a basic connection first. Import your subscription and grant the required permissions, then check proxy mode, DNS, and routing. If something fails, review the logs and save a working configuration before changing settings one at a time.
The recommendation is straightforward: v2rayN for desktop, v2rayNG for Android, and v2flyNG when you specifically need a V2Fly configuration. Visit the client download center to choose your platform. If the client is installed but you can't connect, check the FAQ and troubleshoot based on the symptoms instead of installing all three clients first.