Platforms · Cores · Configuration Compatibility

Clash Client Comparison

Check your operating system and subscription format first, then compare core capabilities, network-routing methods and maintenance status. One subscription may work with several clients, but interface settings and system permissions are not necessarily interchangeable.

Top pick: Clash Plus Choose an installer for your platform

Default pick: Clash Plus

For a first installation focused on importing subscriptions and switching proxy groups, start with Clash Plus. The download page has options for Windows, macOS, Android and iOS; on iOS, get it from the App Store. The official site is clashplus.io. When using it across operating systems, check configuration support on each platform—desktop permissions and features do not necessarily carry over to mobile.

For Linux, start with Clash Verge Rev, then compare FlClash if you prefer its interface. If you rely on specific override rules, scripts or local configuration paths, check migration requirements before switching clients.

Side-by-side comparison

Platforms & Core Families

Platform support describes where a project can run; this site may offer downloads for fewer platforms. “Difficulty” means how much effort it takes to import a subscription and make the first connection, not a performance ranking.

On narrow screens, scroll the table horizontally. Maintenance status is a general guide; check project announcements and download notes before installing.

Compare clients, cores, maintenance status and intended users
Client Platform support and downloads here Core family Maintenance Ease of setup Key features and ideal users
Clash Plus Windows, macOS, Android and iOS; downloads available here for all Clash configuration ecosystem; core and compatibility vary by platform Actively maintained Easy; start by importing a subscription Everyday configuration management; for beginners and multi-device users
Clash Verge Rev Windows, macOS and Linux; downloads available here for all mihomo Actively maintained Easy for basic use; overrides and TUN require some extra learning Desktop configuration management and network routing; for regular desktop use
FlClash Windows, macOS, Linux and Android; downloads available here for all mihomo Actively maintained Easy; advanced settings may require checking system permissions Similar cross-platform interfaces; works well across desktop and Android
Clash Nyanpasu Windows, macOS and Linux; Windows download available here Supports management of Clash-family cores; capabilities depend on the selected core Actively maintained Moderate; distinguish interface settings from core capabilities Core and configuration management; for users willing to customize their desktop setup
Clash for Windows Historically supported Windows, macOS and Linux; Windows archive available here Original Clash core family; not equivalent to current mihomo Discontinued The familiar legacy interface may be easy to use, but compatibility with newer configurations can take troubleshooting For reproducing legacy setups; not recommended as the default for a new installation
Clash Meta for Android Android; Android download available here Meta/mihomo core family Actively maintained Moderate; requires understanding VPN permissions and background restrictions Clash YAML and mobile traffic routing; for Android users with Clash configurations
Surfboard Android; Android download available here Independent implementation, not a Clash/mihomo core Actively maintained Easy with a compatible configuration; migration across formats is more involved Surge-style configuration; for users with a compatible subscription
ClashX Meta macOS; archived download available here Meta core family; fixed to the version bundled in the archive Discontinued Easy for routine use; expect more compatibility troubleshooting Menu bar workflow and legacy setup support; choose a maintained client for new installations

Client reviews

Workflows & Configuration Limits

The client handles the interface, subscription management and system integration; the core parses configurations, matches rules and establishes connections. Both layers affect the experience.

Clash Verge Rev

Desktop option

Built on mihomo, this client suits desktop users who want to manage remote subscriptions, inspect proxy groups and configure network routing. The basics are similar across Windows, macOS and Linux, but service installation, permission prompts and system proxy behavior differ.

Advanced users can use configuration overrides to keep local changes separate from remote subscriptions. Before editing, distinguish the original subscription, override content and final running configuration. Otherwise, changes in the editor may not affect active connections. Linux users should also check their distribution’s package format instead of choosing an installer based only on a desktop screenshot.

View Linux clients ›

FlClash

Desktop and Android

Built on mihomo for desktop systems and Android, this client suits users who want a more consistent workflow across devices. Similar page layouts make it easier to find configuration, proxy and connection controls, but network permissions, background operation and tray behavior are still determined by the operating system.

Before choosing FlClash, check that your usual configurations load correctly, then see how connections recover after switching networks. On Android, check battery management; on desktop, distinguish the system proxy from TUN. Differences with the same subscription may come from DNS, routing methods or platform settings—not the client name alone.

View Android installation options ›

Clash Nyanpasu

Desktop configuration management

For desktop users willing to learn how core selection and configuration processing work. Treat its interface and core management as separate things: whether a protocol in a configuration file works depends on the running core and its supported features, not simply on whether the interface shows a toggle for it.

This site provides a Windows installer; the platforms supported by the project are not the same as the packages listed here. If you have a complex setup, keep the current client’s running configuration, then check subscription processing, rule overrides and port settings one by one. If you only need a basic connection, there is no need to add core-management steps to your initial setup.

View Windows clients ›

Clash for Windows

Discontinued

Often abbreviated as CFW, this legacy client was historically built for other desktop platforms as well as Windows. It follows the original Clash core and should not be assumed to support the protocols and configuration extensions in current mihomo.

The archived installer is mainly for reproducing a legacy setup, reading an existing configuration or assisting with migration. An older core may not parse newer protocol fields in a subscription. Operating system updates can also introduce compatibility issues with services and network routing. For a new installation, choose a maintained client. When migrating, copy the subscription and necessary rules; avoid replacing the entire old application directory.

View Windows alternatives ›

Clash Meta for Android

CMFA

An Android client based on the Meta/mihomo core, suited to users already working with Clash YAML configurations. It routes traffic through Android’s system VPN interface, which requires permission on the first connection. A VPN indicator confirms that a tunnel is active, but does not by itself prove that every app is being routed as expected.

Check configuration loading, proxy group selection and app-level routing together. If the connection drops in the background, check battery optimization and background restrictions before investigating the subscription or nodes. Choose an installer for your processor architecture. Universal and architecture-specific packages differ in packaging, not inherently in protocol support.

View CMFA downloads ›

Surfboard

Independent configuration format

Surfboard is an Android proxy client, but it is not another interface for mihomo. It has an independent implementation and uses Surge-style configuration syntax. Its presence in the same download list does not mean it can read Clash YAML directly or supports every field in other configuration ecosystems.

For users with a working Surfboard configuration or a subscription service that explicitly provides the matching format. If you only have a Clash subscription, changing the file extension is not enough to make it importable. When converting configurations, check protocol support, proxy group types and rule semantics. A successful parse does not guarantee that the original routing behavior has been preserved.

View Android client downloads ›

ClashX Meta

Discontinued

This client uses the Meta core family and is designed around the macOS menu bar. Existing users accustomed to its interface can use the archived package to check legacy configurations, but its bundled core is limited to that archived build and should not be confused with current, maintained mihomo clients.

When replacing a Mac or upgrading macOS, reassess compatibility instead of migrating only the app. Choose the correct installer for Apple silicon or Intel, then check system proxy settings, launch at login and helper services. For a new installation, start with Clash Plus. If you need more complete desktop configuration management, compare Clash Verge Rev and FlClash.

View macOS installation options ›

Choose by use case

Start with your needs, not the feature count

Migration checklist

What to check before switching clients

Changing the interface usually does not require changing your subscription, but it does call for a clear configuration source. Keep your working subscription URL, local rules and essential settings, and securely store any configuration containing credentials. Never paste a subscription link into a public screenshot or support post.

  1. Check the input format. Distinguish Clash YAML, node-only subscriptions and Surfboard configurations. With only a node list, the client still needs a usable proxy group and rule structure. After converting formats, check that the configuration still means what you intend.
  2. Check core capabilities. Inspect the core that is actually loaded and confirm that it recognizes the protocols, rule types and DNS fields you need. An older client importing a file does not mean every field in it is active.
  3. Enable only one traffic-routing method at a time. Before testing a migration, turn off the old client’s system proxy and TUN, then start the new client. This avoids port conflicts and interference between two routing setups. On mobile, check for other VPN apps too.
  4. Verify traffic routing again. Select the same proxy group outbound as in the old setup, then check the rules, policies and logs matched by your test connections. Simply checking whether a webpage loads can miss differences in DNS, local network access and app-level routing.
  5. Clean up the old setup last. Confirm that subscriptions update and connections work after network changes and a fresh login before removing the old client’s startup items and helper services. Keep a copy of your configuration for comparison if something goes wrong.

For a new installation without specific legacy requirements, start with Clash Plus; Linux users should start with Clash Verge Rev. Find installers on the download page, then follow the setup guide for your initial configuration. If a connection fails, use the logs to investigate the configuration, DNS or system routing before deciding whether to switch clients.