Client Comparison / Platforms · Cores · Config Compatibility

Clash Client Comparison and Recommendations

Start with platform support, then check config compatibility. Consider interface preferences last.

For a first install, start with Clash Plus. If you need a Linux desktop, core management, or more granular rule configuration, compare the options below. A client is only a proxy tool; verify your subscription, node availability, and network conditions separately.

Scope: Platform listings reflect the packages currently available in this site's download center, not the full release range of each project. Maintenance status is indicative; check the selected package and project documentation for actual system requirements, core, and features.

Side-by-Side Comparison

Key Differences Between Eight Clash Clients

“Meta” is the historical name for Clash Meta; its core is now called mihomo. The client interface, core, and config format are three separate things: a similar look does not mean fields are compatible, and using the same core does not guarantee identical settings on every platform.

On narrow screens, scroll the table horizontally. Select a client name to jump to its review below.

Platforms, cores, maintenance, and ease of use
Client Platforms available here Core family Maintenance Ease of use Key features and best for
Clash Plus
Top pick
Windows、macOS、Android、iOS Check each platform's client documentation; don't assume features are identical based on the product name Actively maintained Easy: import a subscription and choose a mode One place to find downloads for multiple platforms; good for beginners and multi-device users
Clash Verge Rev Windows、macOS、Linux mihomo Actively maintained Moderate: advanced settings require understanding permissions and config layers Desktop config management, overrides, and TUN; suited to regular desktop use
FlClash Windows、macOS、Linux、Android mihomo Actively maintained Easy to moderate: permissions differ between desktop and mobile Similar workflows across devices; a good fit for desktop and Android users
Clash Nyanpasu Windows Supports core management; configure fields according to mihomo when using it Actively maintained Moderate: verify which core you've selected Customizable interface and core selection; suited to users who like tweaking desktop tools
Clash for Windows Windows Original Clash ecosystem Unmaintained Familiar to longtime users; new users may need to learn legacy settings For reproducing or migrating legacy setups, not recommended for new installs
Clash Meta for Android Android Clash Meta / mihomo Actively maintained Moderate: requires VPN permission and attention to background restrictions Subscription management and per-app routing; suited to Android-first users
Surfboard Android Independent implementation; not a Clash core Actively maintained Easy with an existing compatible config; harder when migrating from Clash Its own config syntax and rule system; suited to users with compatible configs
ClashX Meta macOS Clash Meta ecosystem Unmaintained Few basic steps; troubleshoot compatibility issues yourself Menu bar workflow; suited to legacy setups, not recommended for first-time installs

Ease of use reflects the knowledge needed to configure and troubleshoot, not performance. A feature missing from this table isn't necessarily unsupported. Permissions, routing, and DNS interception can vary by platform, even within the same client.

Client Reviews

What Each Client Can and Can't Do

Start with your must-haves, such as iOS support, a Linux package, or per-app routing, then compare preferences. These reviews explain why to choose each client, when to look elsewhere, and what to check during initial setup.

Clash Plus

Top pick

A good fit if you want to get started by importing a subscription without digging into core differences. This site links to Windows, macOS, Android, and iOS options, making it easier to find the right version. For multiple devices, set up one first, then check proxy mode and permissions on each device rather than changing several setups at once.

Multiple platforms don't mean settings sync automatically or that TUN, DNS, and background behavior work the same everywhere. Before buying or importing a service, check its subscription format and supported protocols. For iOS, use the App Store listing; see clashplus.io for feature details. For Linux, consider Verge Rev or FlClash.

Go to Clash Plus downloads →

Clash Verge Rev

A strong fit for users who manage configs on desktop regularly. mihomo handles proxy protocols, rule matching, and network traffic; the client provides config imports, settings, and runtime information. If you want subscription updates while adding local rules or DNS settings, understand how overrides and merging work before editing anything.

A possible replacement for Clash for Windows, but you can't simply copy over the old folder and expect it to work. Original-core fields, legacy scripts, and interface settings may not carry over. On first launch, test basic connectivity in rule mode with the system proxy, then enable TUN if needed. On Linux, also check package format, desktop dependencies, and permissions.

View desktop installers →

FlClash

A good fit if you use both desktop and Android and want a similar workflow across devices. Its mihomo-based core can reuse compatible proxy groups, rules, and DNS settings. However, local paths, network interface names, and listen addresses in the config still need device-specific changes. A desktop config isn't a ready-made universal setup.

Check your device architecture and permissions before choosing. Android requires system VPN permission and may be affected by battery-saving policies. On desktop, the system proxy only affects apps that honor it. If an app bypasses the proxy, trace where its traffic goes before switching clients. This site does not offer an iOS download for FlClash.

View FlClash platforms and architecture options →

Clash Nyanpasu

A good fit for desktop users who want to customize the interface, verify the core, and keep configs separate. Core management gives you options, but adds another variable to troubleshoot: fields and behavior can differ when the same config runs on different cores. When reporting an issue, include both the client name and the active core—not just a screenshot.

This site's download center offers the Windows installer; other project release channels aren't counted as platforms supported here. For your first setup, stick with one compatible core. Confirm subscription updates, rule matching, and proxy routing before changing the interface or switching cores. If you just need to import a subscription and connect, start with Clash Plus.

View the Windows client list →

Clash for Windows(CFW)

Unmaintained

CFW still appears in older tutorials and screenshots. The original Clash ecosystem is not identical to today's mihomo. Archived builds can help reproduce a legacy setup or compare old rule behavior before migrating. Since development has stopped, don't expect the original project to fix future OS changes, protocol updates, or compatibility issues.

Don't choose CFW for a first install just because its interface looks familiar from a tutorial. Existing users can consider Clash Plus, Verge Rev, or FlClash: export the subscription URL and local rules, note proxy group names, then verify each one in the new client. An old app still launching doesn't mean it will remain compatible or use fewer resources or run more reliably.

View alternatives and archived downloads →

Clash Meta for Android(CMFA)

A good fit for Android-first users who manage subscriptions, rules, and per-app routing. Its core belongs to the Clash Meta/mihomo family; don't confuse it with the original Clash for Android. Choose an installer for your device architecture. Before updating an existing install, check that the source and signing are compatible to avoid an installation failure.

Connection issues often come down to Android system settings: VPN permission, background restrictions, or another VPN app competing for the connection. To troubleshoot, disconnect other VPNs first, then check the client's per-app access controls. If an app is set to bypass the proxy, enabling global mode doesn't mean its traffic will go through the VPN.

View CMFA installer options →

Surfboard

Surfboard is an Android proxy tool, not a Clash GUI or a Clash-core client. It uses its own config syntax; check the project documentation for supported features. If you already have a config tailored for Surfboard, use its rule system. Don't assume you can import a Clash YAML subscription just by changing the file extension.

Moving between config ecosystems means checking node protocols, proxy groups, rule order, and DNS behavior. Conversion is only a starting point; a successful conversion doesn't guarantee every field keeps its original meaning. If you don't want to maintain converted configs, a client that supports your existing subscription directly is usually simpler. Surfboard isn't the default choice for Clash beginners.

Go to Surfboard downloads →

ClashX Meta

Unmaintained

A good fit for users accustomed to a macOS menu bar client who need to keep a legacy config for now. It belongs to the Clash Meta ecosystem, but an archived build won't necessarily include every feature in current mihomo. Check the actual core for field support instead of copying the latest config examples into an older client.

For a new install, consider Clash Plus, Verge Rev, or FlClash first. Before migrating, note your system proxy, listen port, and local rules. Quit the old client before launching the new one to prevent both apps from repeatedly changing system proxy settings. After migrating, check login items so the old app doesn't take over proxy settings again at startup.

View macOS alternatives →
Choose by Use Case

Which Client Fits Beginners, Advanced Users, and Multi-Device Setups?

Bottom line: start with Clash Plus, then narrow by specific needs

If you don't have a specific advanced requirement, start with Clash Plus and get a working setup. Linux, desktop overrides, Android per-app routing, or an existing Surfboard config are concrete reasons to consider other options. Archived tools are for transition work, not at the same recommendation level as actively maintained clients.

Choose a client for your platform in the download center →

Check both before and after switching

Client Migration Checklist

Once you've chosen a client, don't delete the old config right away. Save a recoverable copy, then switch over in this order. Subscription links may contain access credentials; store them only in a secure local location, not in screenshots or public support posts.

  1. Back up subscriptions and local changes separately. Note the subscription source, selected proxy groups, custom rules, and DNS settings. Direct edits to a downloaded subscription file may be overwritten on update; collect those changes separately before migrating.
  2. Check fields and proxy group references. A new core may not accept legacy extension fields, and every policy name at the end of a rule must exist in the current config. Different config systems, such as Surfboard's, require their own conversion and checks—renaming the file isn't enough.
  3. Let only one client control network traffic at a time. Turn off the old app's system proxy and TUN, then quit it. Check that the listen port is free before starting the new client. Don't let two apps compete for the system proxy or VPN connection.
  4. Test browsers and other apps separately. Browser access doesn't mean terminal apps, games, or background services are using the proxy. First check whether an app follows the system proxy, then decide if you need TUN. See proxy mode explained.
  5. Test updates and behavior after a restart. Update the subscription manually and confirm local rules remain. After restarting, check login items, permissions, and proxy settings. Once everything works, remove the old app and keep any config backups you still need.

If multiple clients show the same issue, check the subscription, nodes, DNS, and local network first. Switching interfaces won't diagnose the problem or make an incompatible protocol work.