CLIENT SELECTION / PLATFORMS · CORES · CONFIGURATION

Clash Client Comparison and Selection Guide

Choose a platform first, then check subscription format and core compatibility. Similar interfaces don't guarantee the same protocol support, TUN permissions, or configuration override behavior.

8 clients Graphical client comparison Archived client migration

Scope: The platform column covers installers available on this site's download page, not every build from each project. Cores and features can vary by client build; check the release notes before installing.

Top pick: Clash PlusBest for new installs

Start with Clash Plus, then adjust as needed

If you're on Windows, macOS, Android, or iOS, Clash Plus is a good place to start. Focus first on importing a subscription, choosing a proxy group, and getting connected; there's no need to learn settings you don't use yet. On iOS, use the App Store; on other platforms, choose a package that matches your processor architecture. Visit the official site at clashplus.io.

For desktop configuration extensions, service mode, and finer TUN controls, compare Clash Verge Rev. If you want a similar experience on desktop and Android, consider FlClash. Among the graphical clients available here, Clash Verge Rev is the first option to consider on Linux. If you rely on a specialized setup, check that it loads correctly before switching clients.

Clash for Windows and ClashX Meta are archived options. Their download links remain available for identifying older setups and planning a migration, but they're not recommended as the default for new devices.

Platform, core, and maintenance comparison

“Low / Medium / High” indicates how much there is to learn about configuration, not performance. Scroll horizontally on narrow screens to see all columns. Select a client name to jump to its review.

Platforms, cores, maintenance status, learning curve, standout features, and recommended users for clients available through this site's installers
Client Platforms available here Core / configuration approach Maintenance status Setup difficulty Standout features Best for
Clash Plus Windows、macOS、Android、iOS Varies by platform build; not uniformly identified as original Clash or mihomo Actively maintained Low: start with subscriptions and proxy groups Cross-platform graphical client, subscription, and connection management First-time installs and multi-device users; our top pick
Clash Verge Rev Windows、macOS、Linux mihomo, derived from the Clash Meta line Actively maintained Medium: understand service permissions and configuration merging TUN, service mode, configuration extensions Advanced desktop users and Linux users
FlClash Windows、macOS、Android、Linux mihomo Actively maintained Low: advanced network settings take extra learning Cross-platform interface, subscription and proxy group management Users who switch between desktop and Android
Clash Nyanpasu Windows Check the build and core management options; if using mihomo, configure it with mihomo syntax Actively maintained Medium: check the selected core and configuration compatibility Desktop configuration management and core management options Desktop users willing to check configuration details
Clash for Windows Archived Windows build Common archived builds use Clash Premium, not mihomo No longer maintained Familiar legacy workflow; adapting new configurations can take more work Reference for legacy configurations and workflows Users organizing or migrating an older setup
Clash Meta for Android Android Clash Meta / mihomo line Actively maintained Medium: understand VPN permissions and per-app routing Configuration management and per-app access control Users who need per-app controls on Android
Surfboard Android Independent implementation; Surge-style configuration, not a Clash YAML core Actively maintained Low with a compatible existing configuration; high when migrating between formats Surge-style rules and proxy group configuration Android users who already have a compatible subscription
ClashX Meta Archived macOS build Clash Meta line; archived core capabilities depend on the build No longer maintained Easy menu bar operation; higher maintenance and compatibility overhead Menu bar controls and legacy YAML workflows Users migrating an older macOS configuration

Eight Clash clients, reviewed

These reviews focus on configuration workflows and migration effort. Proxy service, subscription content, and client software are three separate things; installing a client doesn't provide working proxy nodes.

Top pickActively maintained

Clash Plus: a starting point for new installs and multiple devices

Clash Plus is a solid default starting point. Install it on your platform, import a compatible subscription, select a proxy group, and only then adjust how traffic is routed. This makes it easier to distinguish an installation problem from an unexpected routing result, instead of changing several settings at once and losing track of the cause.

This site provides installers for Windows, macOS, Android, and iOS, making Clash Plus a good fit for users with devices across platforms. Network permissions, background restrictions, and available features differ by operating system, so don't assume every setting works the same way just because the client has the same name. Check subscription format, protocol support, and each platform's network integration rather than judging by screenshots.

If you only need everyday subscription and proxy group management, start by testing those features. Compare other desktop clients only if you run into a genuine need for configuration extensions. Find more product information at clashplus.io.

View Clash Plus downloads →
Advanced desktop useActively maintained

Clash Verge Rev: TUN and configuration extensions

Clash Verge Rev uses mihomo and suits desktop users who need finer control over traffic routing and configuration merging. Installers are available here for Windows, macOS, and Linux. Beyond simply importing subscriptions, its strengths lie in how service mode, TUN, and local configuration extensions work together.

The learning curve mainly comes from permissions and override order: successfully installing a service doesn't mean system routing changed as expected, and a saved local override isn't necessarily active in the final configuration. For troubleshooting, check the effective configuration and logs first, then inspect DNS, routes, and rule matches. That's usually more useful than repeatedly switching proxy nodes.

A good fit for users who maintain custom rules, manage multiple subscriptions, or debug desktop networking. If you only need a browser proxy, start with the system proxy and leave the advanced options off until you need them.

View desktop client downloads →
Cross-platform workflowActively maintained

FlClash: a consistent workflow across desktop and Android

FlClash is based on mihomo, with Windows, macOS, Android, and Linux installers available here. It suits users who switch between a computer and Android device and want less of a learning curve between interfaces. Subscriptions, proxy groups, and connection status work in similar ways, but traffic routing must still be configured separately on each device.

When migrating existing YAML, check rule providers, local paths, and DNS settings. Relative paths from a computer may not work on a phone, and Android VPN authorization doesn't translate to desktop service permissions. Reuse the portable parts of the configuration, but keep platform-specific settings separate.

Don't assume resource use based solely on the cross-platform framework. Real-world performance depends on the operating system, configuration size, connection count, and log level. Test your own subscription with sleep and wake, network switching, and background operation before committing to it as your everyday client.

View FlClash platform downloads →
Core and configuration managementActively maintained

Clash Nyanpasu: check which core is in use

Clash Nyanpasu suits users comfortable with desktop configuration management; this site's download page provides a Windows build. Evaluate the interface and the running core separately: core management options and available builds can change, so don't assume every protocol or configuration field is supported based on the app's name alone.

If you choose mihomo, check the subscription against mihomo syntax and behavior. For configurations built for older cores, verify protocol, rules, and DNS options first. Save a working copy before switching cores and change one variable at a time to pinpoint whether a problem comes from the interface, generated configuration, or core differences.

A good fit for users comparing configurations and refining a desktop workflow. If you just want to get connected, start with the recommended option on this site; the number of optional cores shouldn't be a requirement for choosing a client.

View Windows downloads →
No longer maintainedArchived reference

Clash for Windows: a migration target for legacy configurations

Clash for Windows is often abbreviated to CFW, and this site retains an archived Windows download. Common archived builds use Clash Premium, so don't treat CFW as an actively updated mihomo client. The menu locations, field names, and service installation steps in older online guides may also differ from those for current operating systems and clients.

A working legacy setup doesn't mean it's suitable for new protocols or current operating systems. If a subscription fails to parse, first check whether it includes node types unsupported by the older core. Reinstalling the same archived build won't resolve differences in protocol support. For new devices, choose an actively maintained alternative.

Before migrating, save your subscription source, custom rules, proxy group names, and port settings. In most cases, you don't need to copy the entire old configuration directory over to a new client; don't copy old cache or service files either. Get the new client running on its own, then restore personal settings one at a time.

View Windows client alternatives →
Per-app routing on AndroidActively maintained

Clash Meta for Android: per-app routing on mobile

Clash Meta for Android, often called CMFA, follows the Clash Meta / mihomo line. It suits Android users who want to manage configurations, choose proxy groups, and control which apps use the VPN. When installing, choose the right package for ARM64, ARM, or universal devices so an install issue isn't mistaken for a subscription problem.

Android connections typically require system VPN authorization. After granting permission, check whether another VPN app is using the same connection and whether the system is restricting background activity. Per-app controls determine which apps are routed; domain and IP rules determine which proxy policy applies to that traffic. These are separate settings.

If the connection drops when your phone sleeps, check battery management, background permissions, and network switching before changing clients. For long-term use, test switching between Wi-Fi and mobile data and confirm the notification's connection status matches what the app shows.

View Android downloads →
Independent configuration formatActively maintained

Surfboard: check subscription format first

Surfboard is an Android proxy client, but it's not a Clash YAML client with a different interface. It has an independent implementation and uses Surge-style configuration, making it a fit for users who already have a compatible subscription and know the relevant rule and policy syntax. Before choosing it, confirm that your subscription provider explicitly supports this format.

Renaming a file extension from YAML to something else doesn't convert the format. Node definitions, proxy groups, rules, and DNS each have their own structures. Similar concepts don't guarantee a one-to-one match. Before importing, confirm protocol and configuration support; after conversion, check the default policy and rule order.

If your service only provides Clash configuration, a client that supports that format is usually the more straightforward choice. If you do need to convert, use a trusted method and avoid submitting subscription links containing credentials to unknown conversion services.

View Android client options →
No longer maintainedArchived macOS build

ClashX Meta: migrating from a legacy menu bar workflow

ClashX Meta is a macOS menu bar client that follows the Clash Meta core line. This site retains archived downloads for Apple Silicon and Intel Macs. Despite the name's connection to ClashX, it's not the default recommendation for every Mac user. For new installs, consider actively maintained options such as Clash Plus, Clash Verge Rev, or FlClash.

Protocol support in archived builds depends on the specific core, so don't assume current mihomo documentation describes all their capabilities. OS upgrades can also cause compatibility issues with permissions, helper components, and traffic routing. When that happens, migrating is often easier to maintain than continuing to patch an old setup.

Before switching clients, turn off the old system proxy and auto-start, and note your original ports and custom rules. Once the new client is working, remove old helper components. Avoid running two clients that both change system proxy settings; the menu bar status may not match the actual outbound route.

View macOS client alternatives →

Choose by use case

What to check before installing or migrating

  1. Check the platform and architecture. For macOS, distinguish Apple Silicon from Intel; for Android, match the package architecture; for Linux, check the distribution's package format. The comparison only covers installers available here. Check the download page and build notes for exact system requirements.
  2. Check the configuration format and protocols. Clash YAML, node links, and Surfboard configuration are different input formats. If an import fails, first check the format and the actual core's capabilities instead of assuming it's a network problem.
  3. Keep a restorable copy of your configuration. Back up your subscription source, custom rules, and proxy group selections. Subscription links may contain access credentials; hide them in screenshots, shared logs, and synced configurations.
  4. Use one traffic-routing method at a time. During migration testing, turn off the old client's system proxy, TUN, and auto-start before launching the new client. On desktop, check for port conflicts; on Android, make sure another app hasn't taken the VPN permission.
  5. Test the connection before restoring extras. First confirm the configuration loads and basic access works, then restore custom DNS, rule overrides, and TUN one at a time. Check logs and rule matches at each step, and keep a working configuration along the way.

The download page also offers mihomo core packages for server and router users. The core runs the configuration; it doesn't offer the same out-of-the-box experience as the graphical clients above, so it isn't included as a ninth graphical client in this comparison. Most desktop users should start with a graphical client. If you need systemd, command-line, or dashboard management, see the Platform Guides.

Choose in this order: platform support → configuration compatibility → correct traffic routing → easy day-to-day maintenance. Once those four needs are met, consider interface and workflow preferences. Visit the Clash downloads page for installers by platform. For a first setup, start with subscription import and connection steps.