CLIENT SELECTION / CLIENT GUIDE

Clash Client Comparison and Guide

Start with your operating system, then check subscription format. The core determines which configuration fields are understood; the GUI shapes your day-to-day workflow. Similar client names don't guarantee interchangeable features or configurations.

Top pick: Clash Plus · Desktop and mobile · Archived projects clearly labeled

Choose in this order: platform, format, maintenance

For your first install, start with Clash Plus. It has options for Windows, macOS, Android, and iOS, making it a practical choice for setting up a subscription, selecting policies, and connecting your apps. For a Linux desktop client, compare Clash Verge Rev and FlClash first. Don't research every toggle before choosing a client. Get one known-good configuration working first; troubleshooting will be much easier.

  1. Platform and architecture: Check your operating system, supported versions, and processor architecture. Don't assume Apple Silicon and Intel installers are interchangeable just because their filenames look alike. Choose the right Android build for your device architecture, too. The platform column below reflects the download options on this site, not the full history of each project’s platform support.
  2. Subscription and core: Check whether your provider supplies a complete Clash YAML, node URIs, or another configuration format. Meta is the historical name for the mihomo line; not every client with “Clash” in its name supports the same configuration fields.
  3. Everyday use: If you only need to import a subscription and switch policies, look for a straightforward interface. If you need rule overrides, TUN, or custom DNS, compare where those settings live. More features don't automatically make a client a better fit.
  4. Maintenance: Choose an actively maintained project for a new installation. Keep discontinued clients for reference on legacy setups, not as the foundation for a new system.

Eight Clash clients compared

Setup difficulty is a qualitative comparison of the workflow, not a score. Maintenance status is a guide, so check each project's current documentation before installing. The table is wide; scroll horizontally on smaller screens.

Platforms, core, maintenance, and intended users
Client Platforms available here Core Maintenance Setup difficulty Notable features and caveats Best for
Clash Plus
Top pick
Windows、macOS、Android、iOS Check each project's documentation and verify Clash configuration compatibility on each platform Actively maintained Low; start by importing a subscription and connecting Broad platform availability; verify advanced fields and traffic-handling features on each platform Beginners and multi-device users
Clash Verge Rev Windows、macOS、Linux mihomo, following the Meta line Actively maintained Moderate; many advanced settings TUN, configuration customization, desktop rules, and connection management Users who need fine-grained desktop network controls
FlClash Windows、macOS、Android、Linux mihomo Actively maintained Low to moderate Similar workflows on desktop and Android, with core configuration controls Users pairing a desktop with a phone
Clash Nyanpasu Windows Core selection available; check the specific release package Actively maintained Moderate to high Configuration management and core selection; recheck compatibility when switching cores Power users willing to learn how the configuration is structured
Clash for Windows
Discontinued
Windows archive Original Clash line Discontinued Familiar to existing users; higher migration effort for new users Legacy configuration management and system proxy workflow; don't assume support for newer fields Users reviewing or migrating a legacy setup
Clash Meta for Android Android Meta / mihomo line Actively maintained Moderate; requires handling system permissions VpnService traffic routing, per-app proxying, and configuration management Users who need fine-grained control of Android traffic
Surfboard Android Independent implementation; not a Clash / mihomo core Actively maintained Depends on the configuration source Independent configuration system; Clash YAML is not an equivalent drop-in configuration Android users with a compatible configuration
ClashX Meta
Discontinued
macOS archive Meta line; archived package has fixed capabilities Discontinued Easy for basic use; compatibility can be harder to troubleshoot Menu bar controls; recheck compatibility after macOS updates Long-time macOS users with an existing working setup

TUN support alone isn't a useful way to rank clients. Desktop TUN involves permissions, service components, and routing; Android typically routes traffic through the system VPN interface, while iOS is governed by its network extension framework. Similar labels can involve different permissions and affect different traffic. First figure out which apps need traffic routing, rather than just looking for a familiar toggle.

Client-by-client reviews

Clash Plus: best for first installs and multiple devices

Top pick If you need to import a subscription, choose a policy, and get your everyday apps connected, Clash Plus is a good place to start. This site provides download options for desktop and mobile, so you don't have to begin by comparing a long list of project names. Keep in mind that the same client name across platforms doesn't guarantee identical advanced settings. Check custom DNS, traffic routing, and background behavior on your specific system.

For multiple devices, use the same subscription source and policy group names where practical, but don't sync the clients' entire data directories. Install the iOS app from the App Store. See the project website at clashplus.io. If you need a Linux desktop client or specific mihomo configuration features, compare the next two options.

Clash Verge Rev: desktop configuration and TUN controls

Clash Verge Rev uses mihomo and suits users who want to inspect connections, adjust rules, and manage configuration extensions on desktop. Its value isn't just putting a proxy toggle in a window; it gives complex configurations a practical interface. Before using extensions or overrides, check whether they apply after a subscription update or during configuration generation, so a temporary change doesn't get mistaken for a permanent one.

It's a good fit for power users willing to read logs, but it can also handle a standard subscription. For your first setup, avoid changing the system proxy, TUN, and DNS all at once. Verify the basic connection first, then enable features one by one. Linux users should also check package format, desktop environment, and permission requirements. A successful install doesn't mean system traffic is being routed through the client.

FlClash: similar workflows on desktop and Android

FlClash is based on mihomo, with download options here for Windows, macOS, Android, and Linux. If you use both a computer and an Android phone, a similar interface can cut down on repeated learning. It's a good fit if you want to keep access to rule configuration without having to relearn the workflow on every device.

A similar interface doesn't mean the permissions or network environment are the same. Desktop system proxy settings don't carry over to Android, and VPN authorization or battery optimization settings on a phone aren't included in a configuration file. Sync the subscription and any necessary rule overrides; set permissions, ports, and routing separately on each device.

Clash Nyanpasu: a desktop option for users who want to choose the core

Clash Nyanpasu suits desktop users who want more control over configuration and core behavior. This site provides a Windows download. When comparing clients, keep track of the active core, not just the GUI name: switching cores can change supported protocols, configuration fields, and behavior.

It's worth considering if you already have a clear configuration workflow. If you only need to import a subscription for the first time, there's little reason to add troubleshooting variables just to get more options. Back up your configuration before switching cores. After the switch, check that the configuration loads, then test policy groups and DNS. Don't change the subscription, core, and rule overrides all at once.

Clash for Windows: reference for archived setups and migrations

Clash for Windows, often shortened to CFW, is a GUI client based on the original Clash line and is no longer maintained. Familiar labels such as Profiles, Proxies, and System Proxy in older guides can make users look for it, but recognizable screenshots aren't a reason to choose an archived client for a new installation.

This site keeps a Windows archive available mainly for checking and migrating existing setups. When moving to the mihomo line, review policy group references, script-related features, and service installation methods in the old configuration; don't just replace the program files. Don't assume an archived package supports current protocols or systems. For an older PC, check the system requirements of actively maintained projects before deciding to keep a legacy setup.

Clash Meta for Android: per-app proxying and system permissions

Clash Meta for Android, often shortened to CMFA, follows the Meta / mihomo line and is designed for Android. Consider it if you want to choose which apps use the proxy, inspect configuration loading, or keep fine-grained configuration controls on your phone.

Most of the setup effort comes from Android, not just the client. You need to grant VPN permission the first time you connect; for reliable background use, check battery optimization and your device manufacturer's background restrictions. If another app is already using Android's VPN connection, you usually can't enable both at once. After changing per-app rules, test the affected apps rather than relying on the status bar icon.

Surfboard: check the configuration format before choosing it

Although Surfboard appears in this site's Android download list, it isn't a Clash or mihomo GUI frontend. It has its own implementation and a configuration system closer to Surge's style. It can be a standalone option if you already have a subscription or configuration known to be compatible. With only a Clash YAML, don't expect importing it to produce an equivalent setup.

Converting formats means handling differences in node protocols, policy groups, and rule semantics; changing the file extension won't fix them. Similar-looking configuration syntax also doesn't guarantee that every related feature is supported. If you just want to use an existing Clash subscription, start with Clash Plus, CMFA, or FlClash. That usually makes troubleshooting more straightforward.

ClashX Meta: archived macOS menu bar client

ClashX Meta follows the Meta line and offers menu bar controls for macOS users with an established workflow, but the project is no longer maintained. It's listed here as an archived project. Check the capabilities of the core included in the archived package; don't assume it supports every field in today's mihomo documentation.

If you have a stable setup, back it up before planning a migration. Note the current configuration path, policy selections, and system proxy state. For a new macOS install or a switch to a different processor architecture, compare Clash Plus, Clash Verge Rev, and FlClash first. After a system update, switching to an actively maintained option is often more effective than repeatedly reinstalling the same archived package if permissions or network behavior change.

Narrow down your options by use case

Migration checklist before switching clients

The goal of migration isn't to copy the entire old directory; it's to build a configuration you can understand and roll back. Subscription URLs may contain personal access credentials, so store backups somewhere secure and don't show full URLs in screenshots or support logs. A successful import only confirms that the format loaded; it doesn't prove that traffic is being handled as expected.

  1. Keep track of the source: Record subscription sources, manual nodes, and local overrides. If the old configuration combines multiple files, identify which parts are maintained by your provider and which you changed yourself.
  2. Release network control: Quit the old client and disable its system proxy or TUN. Check whether any background services are still running to prevent two programs from competing for ports or changing network settings at the same time.
  3. Check the port: 7890 is a common example of a mixed port, not a value every client uses. Update manual proxy settings in browsers, command-line tools, or developer tools to match the address and port the new client actually listens on.
  4. Test in stages: First confirm the configuration loads, then check the policy selection, verify the system proxy, and enable TUN only if needed. Change one thing at a time so you can roll back easily if something fails.
  5. Resume everyday use: Check subscription updates, waking from sleep, startup behavior, and mobile background activity. Once these common workflows are stable, remove the old client and services.

There's no useful answer to “Which client is faster?” without considering the nodes, network path, and rules. Even with the same core, DNS, traffic routing, or policy selection can lead to different results. To compare clients, use the same compatible configuration, network, and test destination, and don't run both clients at once. Otherwise, the difference you see may have nothing to do with the GUI.

For step-by-step instructions, see the User Guide. To check installation, permissions, and traffic routing across operating systems, see the Cross-Platform Installation and Setup Guide. Look up terms such as core, rules, and DNS in the Glossary.

Bottom line: start with Clash Plus

For a first install, everyday subscription use, or a multi-device setup, start with Clash Plus. For Linux desktop support, compare Clash Verge Rev and FlClash. If you need explicit core selection or per-app controls on Android, consider Nyanpasu and CMFA, respectively.

Choose Surfboard based on its own configuration system; treat CFW and ClashX Meta as archived options. Check platform and format compatibility first, then consider extra features. That's more practical than choosing by client name alone.

Go to downloads and choose your platform