Client selection · platform and configuration compatibility

Clash Client Comparison and Selection

First check that the client runs on your device, then confirm it can read your subscription. After that, compare the interface and advanced features. The table covers all eight clients on our download page. Maintenance status is described qualitatively; screenshots alone don’t establish whether a feature works.

How to choose: platform, configuration, workflow

The client provides the interface and connects to your system; the core handles protocols and applies rules. A shared Clash name doesn’t mean every platform works the same way or supports every configuration field.

Clash Plus: our top pick for getting started

New users can start with Clash Plus: download the client for your device, import a subscription, select a proxy group and test the connection. We provide download links for Windows, macOS, Android and iOS. Linux users can start with Clash Verge Rev. This recommendation is a starting point, not a claim that one client suits every configuration.

If you already rely on complex YAML, override scripts or TUN, check the core and feature support before installing based on a recommendation label. Clash Verge Rev suits desktop configuration management; FlClash offers a similar workflow across desktop and Android. Android users can also compare Clash Meta for Android. Consider Surfboard only if you have a Surge-style configuration—it isn’t a drop-in replacement for Clash YAML.

Choose your system on the downloads page. iOS users can find the Clash Plus App Store link there. The product website is clashplus.io. Platform availability doesn’t guarantee identical features; check configuration format and protocol support before importing.

Eight clients compared side by side

Platforms listed reflect the download links on this site, not every system a project has ever supported. Ease of use is based on first-time configuration import and everyday switching, not performance. Scroll horizontally to view the table on narrow screens.

Clash Client Comparison Table
Client Platforms available here Core and configuration Maintenance Ease of use Key features and caveats Best for
Clash Plus
Top pick
Windows、macOS、Android、iOS Check the implementation for each platform; don’t assume they all use the same mihomo core Actively maintained Easy: import and connect through the interface Available across popular desktop and mobile platforms; features vary by platform First-time setup and everyday use
Clash Verge Rev Windows、macOS、Linux mihomo, continuing the Clash Meta line Actively maintained Moderate: requires familiarity with configuration, proxy groups and permissions Desktop configuration management, overrides and TUN Desktop power users and rule tuning
FlClash Windows、macOS、Android、Linux mihomo Actively maintained Easy to moderate: core controls are easy to find Cross-platform interface; system integration varies Users with both desktop and Android devices
Clash Nyanpasu Windows Supports core management; check the available options for each release Actively maintained Moderate: requires identifying configuration and core options Desktop configuration management and interface customization Desktop users comfortable managing configurations
Clash for Windows Windows, archived download Legacy original Clash / Premium line; not the same as mihomo Discontinued Many older guides are available, but feature differences require careful checking Useful as a reference for legacy configurations and interfaces; not suited to new features Migrating or troubleshooting older setups
Clash Meta for Android Android Clash Meta / mihomo line; capabilities vary with the bundled core Actively maintained Moderate: requires understanding VPN permissions and per-app routing Proxy groups, rule inspection and Android per-app routing Android users configuring rules and per-app routing
Surfboard Android Own implementation with Surge-style configuration; not a Clash-core client Actively maintained Easy with a compatible configuration; harder when migrating YAML Check configuration syntax and protocol support separately Android users with compatible configurations
ClashX Meta macOS, archived download Legacy Clash Meta line Discontinued Simple menu bar controls; advanced settings rely on configuration files Menu bar controls; check compatibility with newer macOS versions Users migrating from older Mac setups

Client reviews and trade-offs

Each review covers what a client is good for, what to check on first use and when to consider another option. Importing a configuration is only the first step—you also need to verify the rules and connection.

Clash Plus: get connected first

A good fit for new users who haven’t settled into a configuration workflow and want to get started on their device. After installation, open the configuration or subscription section and import a compatible subscription. Confirm that proxy groups appear, then go to the connection screen. Avoid changing DNS, rules and system routing all at once; if something goes wrong, it will be harder to find the cause.

Having downloads for multiple platforms doesn’t mean every version uses the same core or supports every YAML field. If your subscription provider requires a specific core, script or extended rule, check the documentation for your platform first. Once the basic connection works, decide whether you need finer-grained rule editing. We recommend Clash Plus as an all-around starting point; choose an advanced client based on actual compatibility needs.

Clash Verge Rev: desktop configuration and rule management

A good fit for desktop users who manage subscriptions regularly, use mihomo rules and need to distinguish between system proxy and TUN. Add your subscription on the configuration page and set it as active, then check your proxy groups and select an exit. To add local rules, learn how overrides work rather than editing a downloaded configuration directly—your changes may be overwritten the next time the subscription updates.

The broad set of controls also means understanding what each switch does. System proxy affects apps that follow your system proxy settings; TUN involves a virtual network adapter, routing and service permissions. Start with just one traffic-routing method and test it before enabling anything else. If you only switch exits occasionally, there’s no need to turn on every advanced feature just because it’s available.

FlClash: a similar workflow on desktop and Android

A good fit if you want to use the same configuration on a computer and an Android phone. The mihomo core lets you carry over what you know about rules, while a similar interface makes it quicker to find your way around. After importing, check the proxy group and active configuration on each device separately. A working connection on one device doesn’t mean the others are set up.

A shared interface doesn’t mean shared system permissions. Android usually requires VPN authorization; desktop may use the system proxy or TUN. File paths, service permissions and background restrictions also vary. Check local rule file paths before copying YAML. If your workflow depends on a custom script feature from another desktop client, confirm FlClash supports the equivalent rather than copying the entire setup as-is.

Clash Nyanpasu: desktop configuration and core selection

A good fit for desktop users comfortable distinguishing the interface, core and configuration. We provide a Windows download. Before importing, check the client information or core settings to see which core is running and choose a compatible configuration. Don’t assume protocol support based on the client’s name, or assume every selectable core is bundled with the download.

Interface customization and configuration management can make everyday organization easier, but changing the theme won’t change how connections are routed. If parsing fails, check the error field and active core instead of repeatedly changing subscriptions and masking the cause. For a straightforward first connection, Clash Plus or FlClash offers a simpler path. If you already have a desktop configuration workflow, compare it with Nyanpasu’s controls.

Clash for Windows: recognizing and migrating legacy setups

Discontinued Clash for Windows is often abbreviated to CFW. Page names like Profiles, Proxies and General in older guides usually refer to this interface. We keep the archived download mainly to help identify legacy setups. New users shouldn’t choose it as their long-term client just because search results turn up lots of guides.

Its original Clash / Premium lineage isn’t equivalent to today’s mihomo. Newer protocols and configuration fields may not parse, and legacy service components and system integration need to be reassessed. To migrate, keep your subscription URL and any essential custom rules, then rebuild the configuration in a new client. Don’t copy the entire old application folder or run two system proxy or TUN services at once.

Clash Meta for Android: per-app routing

Often abbreviated to CMFA, Clash Meta for Android suits users who want to inspect rules, switch proxy groups and route traffic by app on Android. After importing a configuration, check the proxy groups, tap Start and grant the system VPN permission. This VPN is Android’s traffic-routing interface; it doesn’t verify the subscription source or remote service.

Per-app routing and domain rules operate at different levels: app routing determines which apps are handled by the client; domain rules determine which exit a handled connection uses. If an app isn’t included in traffic routing, changing domain rules usually won’t help. If the connection drops in the background, check battery management and background restrictions before blaming the node.

Surfboard: check the configuration format before installing

Surfboard appears alongside Clash clients in the download options, but it doesn’t use the same core. It has its own implementation and a Surge-like configuration format, making it a fit for Android users who already have a compatible configuration. If your file uses Clash’s proxies, proxy-groups and rules structure, changing the file extension alone won’t make it a Surfboard configuration.

If you need to migrate, ask your configuration provider for the right format, then check protocol, policy group and rule support one by one. Conversion doesn’t guarantee feature parity. If you only have Clash YAML and no experience converting and validating configurations, CMFA, FlClash or a Clash Plus version compatible with your subscription will usually mean less troubleshooting.

ClashX Meta: legacy macOS menu bar setup

Discontinued ClashX Meta follows the legacy Clash Meta line and is built around menu bar controls. It is a separate client from ClashX and Clash Verge Rev; similar names don’t mean you can use the same installation steps. Existing users should note their menu bar proxy mode, subscription source and custom configuration locations before planning a migration.

A working legacy setup may not retain its permissions, proxy recovery behavior or core capabilities after a system upgrade. On a new Mac, prefer an actively maintained client. Compare Clash Verge Rev for graphical management of complex configurations, or FlClash for a similar workflow across devices. After migrating, quit the old client and check macOS network settings for leftover proxies.

Narrow down your options by use case

One client may cover several use cases. Start with the one that solves your current problem, keep the setup simple and add features as needed.

What to check before and after switching clients

The goal of migration is to restore a working connection, not to carry over every legacy setting at once. Start with the minimum working configuration, then add rules and system integration.

  1. Keep track of your configuration source. Note where your subscription comes from and back up custom rules, override files and any essential DNS settings. Screenshots can help identify options, but don’t post images containing subscription URLs or authentication details publicly.
  2. Quit the old client. Turn off system proxy and TUN, then quit the app. If the old client installed a background service, stop it using the client’s own controls. Don’t delete its folder first and try to troubleshoot leftover routes afterward.
  3. Import into the new client. Load the original subscription and confirm there are no parsing errors before selecting a proxy group. If you see an unknown field, check the format and core compatibility; don’t delete whole sections just to dismiss an error.
  4. Verify rules and connectivity. Start in rule mode, test basic network access on a site you know is reachable, then check the connection log for the matched rule and exit. If your browser works but other apps don’t, check which traffic is being routed instead of immediately switching to global mode.
  5. Restore only the advanced settings you need. Re-enable overrides, per-app routing, TUN and automatic updates one at a time, testing after each change. Once the new setup is stable, remove the old client’s startup items and services you no longer need.

For button-by-button instructions, read the subscription import and first connection guide. To understand how cores, rules and system routing fit together, see the client selection section of the complete handbook. Find installers, system requirements and architecture options on the client downloads page; this page focuses on how to choose.