CLIENT PACKAGES / DOWNLOADS

V2Ray Client Downloads
Choose an OS and architecture

For desktop, choose v2rayN; for Android, start with v2rayNG. Confirm your operating system first, then choose a package. After installing the client, you’ll still need to import a configuration you’re authorized to use.

01 / Choose your OSUse the tabs below to find your device’s operating system, not your subscription type.

02 / Check the architecturex64 and arm64 depend on your processor and system environment, not just the device brand.

03 / Import a configurationAfter installation, set up your subscription, proxy mode, and routing, then test the connection step by step.

Windows clients

Both downloads are x64 packages. If you’re new, start with Desktop; choose WPF if you’re familiar with its classic interface.

v2rayN

Recommended 7.24.1

Desktop · Desktop

Download v2rayN Desktop · x64

A newer cross-platform UI, ideal for a first install or for users who want a similar workflow across desktop operating systems. The download is a ZIP archive. Extract it completely before running the installer; don’t launch it from the archive preview.

Classic · WPF

Download v2rayN Classic WPF · x64

A stable classic edition with a familiar Windows layout, suited to users who want to keep their existing workflow. Its menus may differ from Desktop. When following a guide, look for the matching feature name rather than an exact button location.

There’s no need to run both versions at once. They may use the same local proxy ports, so running them together can cause listener errors or point the system proxy to the wrong client. Quit the current version before switching, back up subscriptions and custom routing, then check the active configuration in the new interface.

System requirements and installation checks

CheckWhat to look for
Processor and OSThis page provides x64 packages. Check the system type under “System Information” in Settings. These aren’t native ARM64 packages.
RuntimeFollow the installer’s compatibility guidance. If it reports a missing runtime component, use the exact component name to find it. Don’t install runtimes from unfamiliar pop-ups.
Install locationExtract the files to a writable folder, then launch the app from its normal program entry. Don’t use a temporary extraction folder as a permanent location for your settings.
Proxy permissionsSystem proxy and TUN have different permission requirements. Test the standard proxy first, then enable TUN if needed. This makes troubleshooting easier by limiting changes.

A successful installation doesn’t mean every app is using the proxy. Browsers usually follow the system proxy, but some apps have their own network settings. Check them separately.

After installation:
connection checks

Start the client normally before configuring it. Check one step at a time: install, import, select, proxy, verify. Changing clients, cores, and DNS settings all at once can make a simple issue difficult to reproduce.

Import your subscription, then select a configuration

A subscription URL provides connection configurations; it isn’t the client itself. After importing, refresh the list and confirm that the current group contains configurations, then select one. If the update fails, check that the URL is complete, whether updating requires a proxy, and whether your current network can reach it. Never share the part of the URL that contains credentials.

Test the connection, then check app traffic

A port reachability check and a real connection test measure different things; neither can replace testing actual access. On desktop, enable an appropriate system proxy mode and test with a browser that uses the system proxy. On Android, confirm the VPN service is running and make sure per-app rules haven’t excluded the test app.

Check the logs before reinstalling

When something goes wrong, note the time, active configuration, proxy mode, and relevant error terms from the logs. A port conflict, an invalid subscription setting, and a DNS lookup failure each call for a different fix. Reinstalling adds migration work without necessarily changing network conditions. See the subscription import guide, check field meanings in the configuration reference, or start with connection troubleshooting.

Download and installation
FAQs

Should I choose v2rayN Desktop or Classic WPF?

For your first install, try Desktop, which features a newer cross-platform interface. If you’re used to the classic Windows layout and want to keep the same workflow, choose the stable Classic WPF version. These are two client editions, not separate subscription services. Back up your settings before switching, and quit the old version before launching the other to avoid local port conflicts.

What’s the difference between the arm64 and universal Android versions?

The arm64 package is for 64-bit ARM environments and is a good first choice for most phones released since 2015. The universal package supports multiple architectures and is a fallback if you’re unsure of your device’s architecture or arm64 won’t install. Release year is only a guide; check your device’s processor and system environment. If installation fails, also check system compatibility and whether the existing app has a conflicting signature.

Does installing the client automatically give me a working configuration?

No. The client reads configurations, manages connections, and applies routing rules, but you still need a subscription URL or connection details you’re authorized to use. After installation, import your subscription, refresh the list, select a configuration, and choose an appropriate proxy mode. Don’t share subscription URLs in public screenshots or logs; they may contain access credentials.

What should I check if the download button doesn’t work?

Check your browser’s downloads list first to see whether the download needs confirmation, is paused, or is blocked by permissions for the download folder. Then try opening the package link again. The button retains the full file URL even if the page’s scripts haven’t loaded. If it still fails, note the platform, button label, and browser error. There’s no need to switch clients to troubleshoot a download issue.

What should I keep before updating the client?

Use the client’s backup or export option to save your configuration, and note your subscription groups, custom routing, DNS, inbound ports, and per-app settings. Quit the client before updating. Configuration formats can vary between clients and interface versions, so use a documented import method when migrating. Don’t overwrite an unfamiliar configuration directory.

The client installed, but I can’t connect. Should I download it again?

First check that a configuration is selected, your subscription is valid, and your system clock is accurate. Then look for specific errors in the logs. On desktop, check the system proxy and local listening ports; on Android, check VPN authorization and background permissions. Downloading or reinstalling won’t fix an expired subscription, incorrect settings, or the wrong proxy mode. Identify the failing layer before changing packages.