Feature comparison: three clients
Compare settings and features; don’t assume connection performance from a client’s name.
All three are graphical configuration tools. They store server profiles, update subscriptions, launch a core, and route selected traffic through a local proxy. Protocol and transport compatibility depend on the core actually running. Whether the same subscription works across clients also depends on its format, core capabilities, and server settings.
Swipe horizontally to view the table on small screens. Maintenance status is a general indication, not a promise of the same update schedule across platforms or features. Check the download page for system requirements and available packages.
| Feature | v2rayN | v2rayNG | v2flyNG |
|---|---|---|---|
| Supported platforms | Windows / macOS / Linux | Android | Android |
| Core options | Choose a compatible core based on your configuration. Xray and V2Fly availability depends on the release package and configuration type. | Xray | V2Fly(v2fly) |
| Maintenance | Actively maintained | Actively maintained | Community-maintained; check project release notes for update schedules |
| Ease of use | Easy for basic use; system proxy, TUN, and advanced routing require additional setup | Easy to get started: import a subscription, choose a profile, and authorize the VPN connection | Basic features are easy to use; first confirm that your subscription is compatible with the V2Fly core |
| Subscription groups | Yes; useful for managing multiple subscription sources on desktop | Yes; update and select profiles by subscription group | Yes; group access and update options depend on the version |
| Routing interface | Routing settings and rule management make it easy to organize traffic policies in one place | Routing settings plus per-app proxy controls let you choose which traffic to handle | Routing settings are available; options and rule support vary by version |
| TUN and traffic handling | TUN-related features are available; support depends on the platform, permissions, drivers, and core configuration | Handles traffic through Android VPN mode, which is configured differently from desktop TUN | Handles traffic through Android VPN mode, which is configured differently from desktop TUN |
| Key features | Subscription groups, desktop routing, system proxy, and multiple core configurations | Xray core, VPN mode, and per-app proxy | V2Fly core, mobile subscription management, and support for existing configurations |
| Best for | Desktop beginners and advanced users managing multiple configuration groups | Most Android users, especially those who need per-app routing | Android users who specifically need the V2Fly core and have a compatible configuration |
v2rayN: top pick for desktop
Manage subscriptions and routing in one place
Use it to import subscriptions and switch profiles on your computer, with system proxy or TUN available as needed. Windows users can choose between the desktop edition and the classic WPF edition.
View Windows downloads →v2rayN makes the most of a desktop’s larger workspace. Manage subscription groups, server profiles, and routing settings separately, making it easier to compare parameters across configurations. To get started, create a subscription group, import a link, and update the list. Then select a profile to connect. Once the basic connection works, add custom routing rules one at a time so it’s easier to identify issues.
The Windows desktop edition uses a cross-platform interface, while the classic WPF edition keeps a familiar Windows layout. Choose based on your workflow, runtime environment, and package details—not on assumptions that interface differences affect server performance. On macOS, check whether your Mac has Apple silicon or an Intel processor. On Linux, verify both the CPU architecture and package format for your distribution.
System proxy mode is a good first test for apps that honor your proxy settings. If an app still connects directly, that doesn’t necessarily mean the server is down; the app may not use the system proxy. Consider TUN only when you need to route more traffic, and check permissions, routing, and DNS settings. Before switching between the Xray and V2Fly cores, make sure the server parameters match the selected core. Changing cores isn’t a universal fix.
Desktop downloads: macOS packages and Linux packages. See the quick-start guide for setup instructions.
v2rayNG: top pick for Android
Xray core and per-app proxy
Import a subscription and authorize the VPN connection first, then adjust routing and app coverage as needed. After connecting, test access in the apps you actually use.
View v2rayNG downloads →v2rayNG is a good choice if you want to set up a basic configuration on an Android phone quickly. The usual steps are to add a subscription group, update the subscription, choose a profile, start the connection, and approve the system VPN prompt. Approval lets the client create a local traffic entry point; it doesn’t confirm that the remote server is reachable. Open your target app and check that pages load and requests work.
Per-app proxying lets you limit traffic handling to selected apps, or exclude apps that shouldn’t use the proxy, depending on the available options. Before changing anything, check whether the list is in allowlist or blocklist mode. Reconnect and test afterward. If only one app can’t connect, check whether it’s excluded, whether it uses its own network settings, and whether routing rules send the relevant domains directly.
v2rayNG uses the Xray core, but that doesn’t mean every share link can be imported as-is. The link format, transport parameters, and settings exposed by the client must all be compatible. For most recent Android devices, start by checking the arm64 package. For older devices or uncertain architectures, check the system ABI before choosing a universal package. A universal package covers more architectures, but it doesn’t guarantee compatibility with older Android versions.
v2flyNG: an alternative for V2Fly configurations
Keep using V2Fly core configurations
Best for users who know which core they need. Check the server protocol and transport parameters before migrating from an existing Android client.
View v2flyNG downloads →Choose v2flyNG for its V2Fly core, not because its name resembles other clients. If you already have a tested V2Fly configuration and want to stay with the same core family, it’s an Android alternative to consider. If you’re new and aren’t sure which core you need, v2rayNG is an easier place to start with this site’s basic guides. Switch only if compatibility requirements call for it.
Xray and V2Fly aren’t interchangeable names for identical feature sets. Both are part of the wider Project V open-source ecosystem, but their protocol extensions, configuration fields, and development priorities can differ. If a subscription relies on core-specific parameters, check that they’re supported. Successful parsing only means the client read the data; it doesn’t guarantee a working connection.
When migrating, keep the working configuration in your existing client. Create a subscription group in v2flyNG and compare it with a profile you know works. Don’t replace all local routing rules at once or run two VPN connections simultaneously. Migrate settings one at a time after confirming subscription updates, app access, and background operation. If the subscription itself has expired, switching clients usually won’t fix the link.
Choose a client for your use case
Four things to check before downloading
- Check your device and package. On Windows, choose the desktop or classic WPF edition. On macOS, check the processor. On Linux, verify the architecture and deb or rpm format. On Android, check the OS version and ABI. See the client download page for details.
- Check your configuration source and core compatibility. The client doesn’t provide servers or subscriptions. Have a working subscription link or share configuration, and confirm that the selected core supports its protocol, transport, and required parameters.
- Decide which apps’ traffic to route. Know the difference between desktop system proxy, desktop TUN, Android VPN, and proxy-only mode. Each handles a different range of traffic, so a connection toggle alone doesn’t tell you what’s covered.
- Make sure you can revert your settings. Save your existing configuration before switching clients, and avoid running multiple traffic-routing tools at the same time. After disabling the old client, check that the system proxy no longer points to its port before testing the new one.
The choice is straightforward: v2rayN for desktop, v2rayNG for Android, and v2flyNG when you specifically need the V2Fly core. There’s no universal speed ranking; performance depends on the server, network, and configuration. If a connection fails, follow the troubleshooting guide step by step. If cores, routing, or subscriptions are unfamiliar, start with the glossary.
Go to Get the client to choose the right platform, then follow the subscription setup guide.