Client Selection / Platform and Config Compatibility

Compare and Choose a Clash Client

Start with your operating system and subscription format, then compare core capabilities. Clash Plus is our first pick for new installations. For desktop overrides and fine-grained settings, compare Clash Verge Rev, FlClash, and other clients.

Platforms, Cores, and Maintenance Status

On narrow screens, scroll the table horizontally. Maintenance status helps guide your choice; confirm the status of the specific release channel before downloading.

Comparison of clients available in our download list
Client Platforms in our download list Core and config format Maintenance status Learning curve Key features and best for
Clash Plus Windows、macOS、Android、iOS Clash-compatible configs; core and field support varies by platform Actively maintained Easy Subscription imports and everyday routing; a good starting point for new and multi-device users
Clash Verge Rev Windows、macOS、Linux mihomo Actively maintained Moderate Config overrides, rule management, and TUN; suited to advanced desktop setups
FlClash Windows、macOS、Android、Linux mihomo Actively maintained Easy to moderate Cross-platform interface and config management; suited to users on desktop and Android
Clash Nyanpasu Windows Multi-core management; depends on the selected core Actively maintained Moderate to advanced Core selection and config tuning; best for users comfortable reading logs and configs
Clash for Windows Windows, archived Original Clash family; depends on the archived build Discontinued Familiar to longtime users Reference for older configs and workflows; not recommended for new deployments
Clash Meta for Android Android Clash Meta / mihomo family; depends on the release Check the selected release channel Moderate Android VPN traffic routing and config management; suited to users with existing CMFA configs
Surfboard Android Independent implementation; Surge-style config Actively maintained Moderate For Android users with compatible configs; Clash YAML cannot be used as-is
ClashX Meta macOS, archived Clash Meta family; depends on the archived build Discontinued Basic tasks are easy Menu bar controls and older setups; choose an actively maintained client for a new installation

How Meta, mihomo, and original Clash relate

Clash Meta was a core fork that extended the Clash ecosystem and later continued development under the name mihomo. A legacy project name containing Meta does not guarantee its installer includes the current mihomo core. Conversely, a client without Meta in its name may bundle mihomo. If you need a specific protocol, DNS field, or TUN behavior, check the actual core rather than relying on the app name.

Ease of use is not a performance ranking. A client with many configuration options can still be used for a basic import, while a simpler interface may require you to handle VPN permissions, system proxy settings, or DNS issues. These ratings reflect initial setup and ongoing maintenance—not resource usage or speed claims that haven't been tested on the same hardware and setup.

Eight Clash Clients Reviewed

Start with our top pick, then explore actively maintained alternatives and tools for older setups. Download links lead to platform listings; this page does not select an installer for you.

Clash Plus

Top pick

A good starting point for new users who want to import a subscription, choose an outbound, and set up everyday routing before exploring advanced config options. We list Clash Plus first in our Windows, macOS, Android, and iOS download sections. Using the same client across devices can also make the initial learning curve more manageable.

Cross-platform availability does not mean identical settings. System proxy settings on desktop, VPN permissions on mobile, and traffic-routing options vary by platform. For core-specific fields, check the release notes and verify the imported config on that platform. Don't apply a desktop config wholesale to a phone without checking it first.

Get the iOS app from the App Store; the project website is clashplus.io. Find other platform downloads on the client downloads page.

Clash Verge Rev

A good fit for users who need a fuller set of desktop configuration options. The mihomo core, config overrides, rule management, and TUN settings let you keep a subscription's base config separate from local requirements. For example, the subscription can provide nodes and proxy groups, while local overrides handle ports, DNS, or LAN behavior.

The trade-off is that you need to keep track of where each setting comes from. UI settings, the original subscription, and overrides can all affect the final config. When troubleshooting, inspect the merged config and logs. If you only need to import and connect, there's no need to enable every advanced option upfront: verify the system proxy first, then install or enable the TUN service if needed.

Windows downloads · macOS downloads · Linux downloads

FlClash

A good fit for users who want a similar config workflow across desktop and Android. FlClash uses the mihomo core, so subscriptions, proxy groups, and rules can be understood using the same core concepts. Our downloads are available for Windows, macOS, Android, and Linux.

A similar interface doesn't remove differences between operating systems. Android needs VPN permission, and you may need to adjust battery settings to allow background activity. On desktop, check whether the app uses the system proxy or needs TUN to route traffic. When migrating, you can reuse a verified subscription, but recheck local ports, file paths, and permissions. Don't copy device-specific settings wholesale.

Android downloads · Linux downloads

Clash Nyanpasu

A good fit for desktop users who want to understand the boundary between the client interface and proxy core. Multi-core management offers options for testing configs, but switching cores is not a universal fix: support for protocols, rule providers, and extended fields can vary. A successful import does not mean every feature behaves as intended.

Our download list includes a Windows build. Before choosing it, decide which core you plan to use and save a working config as a baseline. Change one variable at a time during testing and keep the logs. If you only need everyday connectivity, don't add config complexity just to use more options.

Browse Windows clients

Clash for Windows

Discontinued

CFW's interface appears in many older guides and is a common source of configs during migration. An archived build can help you find familiar Profiles, Proxies, and Settings workflows, but discontinued maintenance means no ongoing updates for new system changes, protocol support, or core issues.

For a new installation, choose an actively maintained client. When migrating an older setup, keep your subscription URL, custom rules, and necessary local settings instead of copying the entire application folder. Modern mihomo clients share many config fields with older setups, but proxy group names, paths, and override behavior still need to be checked individually.

Read the migration steps · Browse alternative clients

Clash Meta for Android

CMFA is an Android client for local proxy use that routes traffic through the system VPN interface. Users with existing CMFA configs are often familiar with importing configs, choosing proxy groups, and controlling app access. Check the capabilities of the specific release you download; the Meta name alone doesn't tell you which core it includes.

Projects and distribution channels with similar names may differ. This page does not claim that every source provides ongoing updates. Before downloading, check the project source, maintenance notes, and system requirements. If connections drop when the screen locks, check Android battery optimization and background restrictions first. Also make sure another VPN app isn't using the system interface.

Browse Android clients

Surfboard

Surfboard appears in the same download list, but it is not another Clash-based interface. It has an independent implementation and uses Surge-style config syntax, making it a better fit for Android users who already have a compatible config and understand its rule format.

You can't import a Clash YAML file by simply changing its extension. Conversion involves more than syntax: check whether protocols, proxy groups, DNS settings, and rule behavior are supported. A config that works in another client is no guarantee Surfboard can reproduce it fully. If you only have a Clash subscription, choosing a client that explicitly supports that format is more straightforward.

Android downloads and config format notes

ClashX Meta

Discontinued

ClashX Meta's menu bar workflow may suit longtime macOS users. Its name is similar to the original ClashX, but the core family and build can differ. Don't assume every feature in guides for one works in the other, or that an archived core is equivalent to current mihomo.

For a new device or a recent macOS release, choose an actively maintained client. Before migrating, turn off the old client's system proxy and launch at login to prevent settings from conflicting. Choose an installer for your Apple Silicon or Intel Mac, import your subscription, then test browser access and any other apps that need traffic routing.

Browse macOS alternatives

Narrow Down Your Options by Use Case

Keep one primary client and test alternatives one at a time. Running multiple clients with system proxy or TUN enabled makes it difficult to tell which route a connection is using.

Archived Clients and Migration Checklist

Clash for Windows and ClashX Meta remain listed for downloads mainly to support older setups and reference legacy configs. A client that still connects on an existing setup isn't necessarily a good long-term choice for a new device. When moving to an actively maintained client, focus on restoring the same outbound behavior rather than recreating every old interface toggle.

  1. Record your working config. Save the subscription source, proxy group selections, custom rules, and local ports. Store configs containing account details securely; don't publish full subscriptions or sensitive log content.
  2. Stop the old traffic routing. Turn off the old client's system proxy, TUN, and launch-at-login settings. Make sure no background service is still routing traffic before starting the new client.
  3. Import first, then add overrides. Test that the base subscription parses and connects before migrating local rules one section at a time. Proxy group names must match the rules that reference them. Recheck file paths for the new client.
  4. Verify in stages. First test the selected outbound, then check browser and other app access, and finally verify DNS and LAN access. Keep the old config as a fallback, but don't let two clients compete for the same listen port.

If the old config uses mixed-port: 7890, check that the port isn't already in use during migration. The port itself doesn't determine client performance, and it doesn't need to be the same on every device. What matters is that apps point to the address the new client is actually listening on.

For full platform installation and permissions guidance, see the cross-platform installation and setup guide. To get your first connection working, follow the Clash setup guide step by step.

Our Recommendation and Download Links

For most users, Clash Plus is our top pick. Check subscription and feature support for your platform, then set up everyday rule-based routing. For advanced desktop configs, compare Clash Verge Rev. For a similar workflow on desktop and Android, compare FlClash. Consider Clash Nyanpasu for multi-core testing.

Android users with working CMFA or Surfboard configs can decide whether to keep them based on config format and maintenance channel. Don't treat the two as interchangeable based only on interface preference. Consider CFW and ClashX Meta archived tools; familiarity with old guides shouldn't be the main reason to install them on a new device.

Visit the client downloads page to browse available clients, system requirements, and download links by platform. A client processes existing configs and connections; switching interfaces won't provide a working subscription, and the client name can't replace testing the outbound route.