CLIENT SELECTION / Keep the core and interface separate

Clash Client Comparison and Selection

Start with your operating system and configuration format, then compare TUN support, subscription management, and maintenance status. Similar interfaces do not mean identical core capabilities, and switching clients will not necessarily fix a bad configuration.

Our pick: Clash Plus, with features to verify by platform

For a first install, start with Clash Plus. For Linux, complex configuration merging, or more granular desktop troubleshooting, compare options such as Clash Verge Rev and FlClash. Apps with the same name can differ by platform, so check iOS configuration formats and network takeover options separately.

Platform, Core, and Configuration Comparison

Platforms listed reflect this site's download catalog, not every build ever released. Ease of use estimates the steps to import a subscription and enable a proxy; it is not a performance ranking. Maintenance status is a qualitative assessment. Features depend on the build and project announcements. Scroll horizontally to view the table on narrow screens.

Client selection matrix: select a name to expand its review
Client Platforms listed for download Core and format Maintenance status Ease of use Key features Best for
Clash Plus ↓ Windows、macOS、Android、iOS Check the core and import format for each platform; apps sharing a name do not necessarily use the same core Actively maintained Easy: start by importing a subscription Guided configuration; options for multiple devices; available on the App Store for iOS First-time installs and everyday use across devices
Clash Verge Rev ↓ Windows、macOS、Linux mihomo; Clash YAML format Actively maintained Moderate; requires understanding configuration merging and service permissions Configuration merging, script processing, service mode, and TUN management Advanced desktop configuration and troubleshooting
FlClash ↓ Windows、macOS、Android、Linux mihomo; Clash YAML format Actively maintained Easy to moderate Similar cross-platform interface, with proxy groups and connection details Users switching between desktop and Android
Clash Nyanpasu ↓ Windows Supports core management; check which core and fields are supported in your build Actively maintained Moderate Desktop configuration management, rule debugging, and core selection Desktop users willing to inspect their running configuration
Clash for Windows ↓ Windows; archived build Historical builds commonly used Clash Premium; it is not the same as mihomo No longer maintained Familiar to long-time users; migration can be challenging for newcomers Legacy Profiles, rules, and service mode workflows Reproducing older setups and planning a migration
Clash Meta for Android ↓ Android Meta-family; built-in core capabilities depend on the archived build No longer maintained Easy, but requires handling VPN and background permissions Android VPN takeover, configuration import, and proxy group selection Users migrating existing CMFA configurations
Surfboard ↓ Android Not a Clash core; uses its own supported configuration format Actively maintained Moderate; depends on whether the subscription uses a compatible format Surge-style configuration and Android VPN takeover Android users with a compatible configuration
ClashX Meta ↓ macOS; archived build Meta-family; may not support every current mihomo field No longer maintained Easy with older configurations; newer ones may require compatibility troubleshooting Menu bar controls and system proxy switching Reference for migrating legacy macOS workflows

Reviews of eight Clash clients

Clash Plus: A good starting point for beginners and multi-device use

Top pick

Clash Plus is a good fit if you want to import a subscription, choose a mode, and verify your connection before exploring rules and DNS. It leads this site's Windows, macOS, Android, and iOS download lists, making it easy to find the right build for each device. Official site: clashplus.io. Linux users should look at other clients rather than searching for a Linux package that is not in this site's catalog.

The advantage is a simpler first choice, not a guarantee that every platform has the same features. Before installing, confirm your subscription's output format. After installing, check the actual core, log access, and network takeover options. iOS in particular does not follow the desktop service mode workflow. If you need script-based merging, complex overrides, or a specific mihomo field, confirm support on your platform first.

Choose the Clash Plus build for your platform →

Clash Verge Rev: Desktop configuration merging and TUN management

Clash Verge Rev is a mihomo-based desktop client for Windows, macOS, and Linux. Its strength is bringing configuration management, merging, log inspection, and network takeover into a graphical interface. If a subscription updates regularly but you need to preserve local DNS or rules, look into the client's merge and scripting features instead of editing the remote subscription by hand each time.

The tradeoff is keeping the original subscription, merged output, and final running configuration straight. After changing a field in the interface, inspect the resulting configuration and startup logs to make sure another layer has not overridden it. TUN also requires service mode and system permissions; successfully installing the service does not confirm that DNS takeover is working correctly. A good fit for users who read logs and maintain desktop routing rules, but there is no need to enable every option at once.

FlClash: A similar workflow on desktop and Android

FlClash uses mihomo, with Windows, macOS, Linux, and Android downloads listed on this site. It suits users who want to reuse a Clash YAML configuration on a computer and Android phone: importing configurations, selecting proxy groups, and checking connections follow a similar pattern, so switching devices means less time learning a completely different menu layout.

A similar interface does not mean identical system behavior. Android relies on VPN authorization and background execution policies; desktop systems use a system proxy or require TUN permissions. Listener addresses, interface names, and file paths in the same configuration may also need platform-specific changes. Reuse rules and proxy groups first, then configure network takeover separately on each system. If the connection drops when the phone locks, check battery optimization and background restrictions before blaming the subscription.

Clash Nyanpasu: Configuration management and core selection

Clash Nyanpasu is for desktop users who want to manage configurations, inspect rules, and choose a core through a graphical interface. This site's download list includes a Windows build; that does not mean the project only targets one operating system. To compare it with Verge Rev, try an import, an override, and finding a log entry in each, then see which workflow suits you better.

When switching cores, note which core is actually running rather than relying on the client name. Original Clash, Premium, and Meta/mihomo differ in the fields they support. The active core determines whether a protocol or DNS option can be parsed. This flexibility is useful for advanced users, but it also adds room for mistakes: if the configuration fails after a switch, check the reported field and core support before changing interface settings.

Clash for Windows: Keep it as a migration reference, not a fresh-install pick

No longer maintained

Clash for Windows, often called CFW, appears in many older guides covering Profiles, Proxies, and service mode. Common historical builds used Clash Premium, which is not interchangeable with current mihomo. A legacy configuration starting successfully only shows that it works in that environment; it does not prove compatibility with newer protocols, DNS options, or system network interfaces.

If you are migrating, first save your subscription source, custom rules, and essential settings, then create a separate configuration in the new client. Do not copy the entire old program folder over the new client's data directory, and do not enable the system proxy or TUN in both clients at once. An archived build can help reproduce an old issue, but an unmaintained client is not a default fix for an older PC. Check system compatibility and resource use separately.

Clash Meta for Android: A starting point for migrating existing configurations

No longer maintained

Clash Meta for Android, often called CMFA, uses a Meta-family core and takes over network traffic through Android's VPN interface. Its name is similar to the older Clash for Android, but an icon or package name alone does not tell you what the core supports. The app key in this site's download list is not a full product description; check the core information, configuration parsing results, and logs in the app.

CMFA is no longer maintained. Existing users can use their current configuration as a reference when moving to an actively maintained client. Stop the old VPN before starting the new client; Android generally cannot let two VPN apps take over at the same time. If a subscription imports but fails to start, check whether the core recognizes its configuration fields. If it works in the foreground but fails when the screen locks, check background restrictions. These issues occur at different layers, so changing the subscription URL may not help.

Surfboard: Check the format before comparing interfaces

Surfboard is an Android proxy client, but it does not use a Clash core. It has a Surge-style configuration format, so the presence of proxy groups and rules does not mean it can import Clash YAML directly. Even if a subscription service offers format conversion, check that protocols, rule types, and proxy group behavior are preserved. A successful conversion only means text was generated; it does not guarantee equivalent connection behavior.

If you already have a subscription in a format Surfboard supports, it is worth considering as an Android option. If your configuration relies heavily on mihomo rule sets, overrides, or DNS fields, choosing a client in the same configuration ecosystem is usually simpler. Do not submit a full configuration containing private proxy details to an unknown conversion service just to import it. Format compatibility is a prerequisite for choosing a client, not something to check only after you cannot connect.

ClashX Meta: A reference for legacy macOS menu bar workflows

No longer maintained

ClashX Meta is a Meta-family macOS menu bar client. It can help explain system proxy switching and configuration selection in older guides, but the project is no longer maintained. The Meta name does not mean the archived core keeps pace with current mihomo; older builds may not recognize newer fields, and macOS updates can change permissions or network takeover behavior.

Existing users can note their rule mode, subscription location, and local changes before moving to a maintained macOS client for testing. After migration, check that the system proxy no longer points to the old port and that the old app does not still launch at login. Choose a build for your Apple Silicon or Intel hardware; an app launching successfully does not by itself confirm the right architecture or macOS support. New installs should consider Clash Plus, Verge Rev, or FlClash first.

Narrow down your options by use case

What to check before downloading and after migrating

  1. Check your platform and architecture. Confirm your Windows architecture, Mac chip, or Android ABI in system information, then choose the matching installer on the download page. On Linux, check the package format for your distribution; do not rely on Linux in the filename alone.
  2. Check the configuration format and core. Confirm whether your subscription provides Clash YAML or another client's format, then verify protocol and field support. Meta is part of the core's development history; mihomo is a commonly used implementation today. The client name is no substitute for checking the core.
  3. Back up essential settings. Keep your subscription source, custom rules, and DNS change notes. Before sharing troubleshooting details, remove private subscription URLs and credentials. Never post your full configuration in a public forum.
  4. Let only one client take over network traffic. Quit the old client and turn off its system proxy and TUN before enabling the new one. Check that the listener port is correct so your browser does not keep using the old port and make the new client look broken.
  5. Test connectivity, rules, and DNS separately. Loading a webpage only verifies the first one. Check connection logs to confirm the expected rule was matched, then test the DNS resolution path. Also check local network access and recovery after sleep to make sure everyday use is not affected by the network takeover mode.

Once you have chosen a client, visit the client downloads page for the right platform. Follow the quick start guide for your first setup, and consult the cross-platform guide for platform permissions and OS-specific issues. If you are connected but cannot access the internet, work through the FAQ instead of installing several clients in a row.