Client Comparison · Platforms & Cores

Choosing a V2Ray client

Start with your operating system, then check protocol and core compatibility. For desktop, start with v2rayN; for Android, start with v2rayNG. Consider v2flyNG if you already use a V2Fly configuration.

Compare the details that matter

Compare the three clients

All three are graphical clients, but they serve different needs. The interface manages servers, subscriptions and runtime settings; the core handles the protocols. First rule out clients that don't support your platform, then check whether your connections rely on specific core features. There's no need to switch from a setup that already works just to get a longer feature list.

On narrow screens, scroll the table horizontally. Keyboard users can focus the table area and scroll.

Platforms, cores and everyday settings
Feature v2rayN v2rayNG v2flyNG
Platforms Windows、macOS、Linux Android Android
Core Can use Xray-core; check whether v2fly-core is available and how to switch cores in your version Xray core, suited to connection configurations that use its features v2fly core, for V2Fly-compatible configurations
Maintenance Actively maintained; available options may vary between desktop interfaces Actively maintained; core capabilities change with client updates Community-maintained; check the release cadence and core features separately
Ease of use Moderate. Offers a full set of lists and settings; first-time users need to understand proxy modes Low. Import a configuration, grant VPN permission and test the connection Similar basic workflow, but check configuration and core compatibility as well
Subscription groups Manage multiple subscriptions in one place and view or update servers by group Subscription management for organizing configurations by source on your phone Supports subscription import and management; grouping options depend on the current interface
Routing UI Routing settings and rule management are easy to find, making edits and troubleshooting simpler Routing settings support a mix of presets and custom rules Basic routing settings; rule support depends on the v2fly core
TUN / Traffic handling Includes a desktop TUN option; requires suitable permissions, system setup and supporting components Usually handles traffic through Android's VPN interface; this is different from a desktop TUN toggle Also uses Android's VPN interface; check the available modes in the client settings
Key features Desktop server list, subscription groups, log panel, system proxy and routing management Mobile configuration import, per-app proxy settings and Xray protocol options Uses the V2Fly core configuration model, making it a compatibility-focused alternative
Best for Desktop users who regularly edit rules or manage multiple subscriptions Everyday Android use and configurations that need Xray features Android users with existing V2Fly configurations or a specific need for the v2fly core
Top desktop pick

v2rayN: Manage connections on desktop

Subscription groups Routing System proxy

Organize configurations and review logs on a larger screen

v2rayN stands out for its desktop management workflow. The server list makes it easy to find a configuration, subscription groups help organize sources, and logs make it easier to distinguish import failures from connection or routing issues. If you often adjust routes, switch connections or maintain multiple subscriptions, a centralized interface makes changes easier to track than repeatedly editing individual share links.

The Windows download options include a desktop edition and the classic WPF edition. The desktop edition uses a newer cross-platform interface, while the WPF edition keeps the classic Windows UI; they don't use different proxy protocols. macOS and Linux users should choose the v2rayN package for their operating system instead of following Windows tutorials menu by menu. Feature names and layouts can differ between interfaces and versions.

For your first setup, use the system proxy to test apps that support proxies, then decide whether you need TUN. A system proxy doesn't cover every program automatically. TUN handles traffic more broadly, but also requires checks for permissions, virtual network interfaces and DNS settings. When switching cores, recheck the protocol and security layer too; being able to save a configuration doesn't mean the connection will work.

View Windows download options →
Top Android pick

v2rayNG: Xray for Android

Subscription import Per-app proxy Xray core

Focused on importing configurations, connecting and testing on your phone

v2rayNG is a good fit for everyday Android use. Import a subscription or individual configuration, select the connection, grant VPN permission when prompted on first launch, then check that the apps you need can connect. For Xray configurations such as VLESS with REALITY, check that v2rayNG has the required fields and core support instead of forcing the settings into another core.

The VPN icon on Android means the app has access to the system's traffic-handling interface. It doesn't mean you've bought a separate service, nor does it prove the server is reachable. After connecting, test DNS resolution, access to the target site and routing behavior separately. To proxy only selected apps, check the per-app settings and confirm whether the list includes or excludes those apps so you don't select the opposite of what you intended.

Long-running mobile connections are also affected by battery optimization and background restrictions. If the connection drops when the screen locks, check background permissions first, then review the logs; don't assume the protocol is at fault. Subscription updates may overwrite manual edits. To keep test settings, create a separate configuration and distinguish it from subscription-managed entries.

Download v2rayNG for Android
Android alternative · v2fly core

v2flyNG: Keep existing configurations

V2Fly ecosystem Configuration compatibility

Choose it when you have a specific core requirement

The reason to choose v2flyNG is its v2fly core, not a vague claim that it's a faster backup. If your existing server configuration is built around V2Fly features and you've confirmed that the protocol, transport and security layer are compatible, v2flyNG can preserve your existing setup. If a connection depends on a specific Xray feature, don't assume you can switch just because the two Android clients look similar.

A successful import only means the client recognized some of the configuration structure; it doesn't guarantee that every field was retained. If a transport option isn't recognized, a security-layer field is missing or startup fails, compare each setting against the server configuration. In particular, REALITY isn't a protocol type supported by every core; it's a security-related setting used in combination with a protocol and transport.

Before trying this alternative client, keep a copy of your original configuration and test with a connection known to be compatible. Check its maintenance and release cadence separately; v2rayNG release notes aren't a feature list for v2flyNG. If you don't specifically need the v2fly core, v2rayNG remains the recommended starting point for Android.

Find v2flyNG in the Android downloads section →

Choose by how you use it

Recommendations for four common scenarios

You don't need to choose a client that covers every feature from the start. First decide which apps need traffic handling, whether you already have a working subscription and whether you need to edit routing rules. Add settings as needed. These recommendations are based on usage, not device performance or battery-life rankings.

Keep your original configuration before switching

Three things to check when migrating

Subscription format doesn't guarantee protocol compatibility

A subscription distributes connection details and may contain a mix of protocols. A new client being able to read the subscription doesn't guarantee that every connection will work. After migrating, compare the imported results with the original list, then spot-check the protocol, server address, port, transport and security-layer fields. If entries are missing, check the subscription response format and core support first rather than repeatedly refreshing the same link.

Check routing and DNS separately

After importing the servers, note that direct-connection lists, custom routes, DNS policies and per-app proxy lists from the old client may not have transferred. Confirm the connection with the default policy first, then restore rules one at a time. Test sites that should connect directly, destinations that should use the proxy and local network services. Testing just one website can't confirm that every rule works as intended.

Run only one traffic-handling setup at a time

When switching clients on Android, disconnect the existing VPN before enabling the new one. On desktop, turn off the previous system proxy or TUN setup too, to avoid conflicts with proxy settings and virtual interfaces. Keeping the old client installed doesn't mean both should run at once. Once the new configuration works, decide whether to remove the old entries. During troubleshooting, change one variable at a time and note when the issue first appears.

Choose by platform

Desktop and Android recommendations

Top desktop pick: v2rayN. For everyday connections, subscription management and routing on Windows, macOS and Linux. Choose the package for your operating system, then check your processor architecture. Windows users also need to choose between the desktop edition and the classic WPF edition.

Top Android pick: v2rayNG. A good fit for standard imports and Xray configurations. Alternative: v2flyNG. For users who've confirmed they need the v2fly core. Don't infer protocol support from a client name, and don't add configuration complexity for features you don't use.

Check package types and system requirements on the download page. Once you've chosen a client, follow the guide to import a subscription, select a proxy mode and test the connection. For unfamiliar terms, see the quick reference.