Open source · Free · Continuously updated

Connect the world with V2Ray clients One-stop downloads

Featuring v2rayNv2rayNGv2flyNG , three open-source clients, covering Windows, macOS, Linux, and Android, with free latest installers.

3
popular clients
Multi-platform
Win / Mac / Linux / Android
100%
Open source & free
Illustration of global V2Ray network nodes
Illustration of global network nodes

Download

Choose your client

Pick a client by platform, then get the latest installer from the Download Center.

Illustration of the v2rayN desktop client UI
Windows macOS Linux Desktop Built for your device

v2rayN

Cross-platform desktop GUI for Windows, macOS, and Linux — with subscription groups, batch latency tests, routing rules, TUN mode, and more.

  • Win / macOS / Linux
  • Subscriptions
  • Batch latency tests
  • TUN mode
Illustration of a secure v2rayNG Android connection Most popular
Android Xray core Built for your device

v2rayNG

The most downloaded V2Ray client on Android. Ships with Xray core by default, plus QR import, auto subscription updates, per-app proxy, and custom routing.

  • Android 5.0+
  • QR import
  • Per-app proxy
  • Subscription updates
Illustration of the v2flyNG Android client paper plane
Android v2fly core Built for your device

v2flyNG

An Android client from the same lineage as v2rayNG, using the official v2fly (v2ray-core) and tracking upstream updates — ideal if you prefer the community core.

  • Android 5.0+
  • Official v2fly core
  • Zero learning curve
  • Tracks upstream

Tip: For Android APKs, prefer the arm64-v8a architecture build; pick the exact package in the Download Center.

Compare

Compare the three clients

Not sure which to pick? Start with your platform, then your core needs.

v2rayN, v2rayNG, and v2flyNG feature comparison table
Comparison v2rayN v2rayNG v2flyNG
Platforms Windows / macOS / Linux Android Android
Built-in core Xray / v2fly switchable Xray v2fly(v2ray-core)
Protocols VMess / VLESS / Trojan / SS and more VMess / VLESS / Trojan / SS and more VMess / VLESS / Trojan / SS and more
Subscription import Supported Supported (incl. QR code) Supported (incl. QR code)
Per-app proxy Supported Supported
Best for Desktop users Most Android users Users who prefer the v2fly core

Get Started

Get started in 3 steps

From download to connected in minutes. For deeper per-platform guides, see the full tutorial.

  1. 1

    Download and install

    Pick your platform in the Download Center. Desktop users download v2rayN (Win / macOS / Linux); Android users install the APK.

  2. 2

    Import node configs

    Import server configs via subscription URL, QR code, or manually — supporting VMess, VLESS, Trojan, Shadowsocks, and more.

  3. 3

    Connect and verify

    Pick the lowest-latency node, start the connection, then open a page in your browser to confirm the proxy works.

Start now — connect in about three minutes

Choose any of the three open-source clients — all free to download.

Download a client now

FAQ

FAQ

Common questions about downloading and using the clients.

What’s the difference between v2rayN, v2rayNG, and v2flyNG?

v2rayN is the cross-platform desktop client (Windows / macOS / Linux); v2rayNG is the Android client with Xray core by default; v2flyNG matches the v2rayNG UI exactly but uses the official v2fly (v2ray-core) — best when you need v2fly features.

Are these clients free? Are they safe?

All three are free and open source. Get packages from this site’s Download Center and avoid unknown modified builds.

Which APK architecture version should I download on Android?

On recent phones, prefer arm64-v8a; if you are unsure, choose the Universal package.

Which proxy protocols do the clients support?

Supports mainstream protocols including VMess, VLESS, Trojan, Shadowsocks, SOCKS, and WireGuard, plus one-click batch import via subscription URL.

What if I can’t connect or speeds are very slow?

First use the client’s real-connection latency test to find working nodes; then confirm both the client and subscription are up to date. If issues persist, try another transport (e.g. WebSocket + TLS) or switch nodes.