CLIENTS / Platforms · Cores · Configs

Compare and choose Clash clients

Start with your operating system, then check config compatibility. Clash Plus is our pick for new installs. For fine-grained desktop configuration, compare Verge Rev, FlClash, and Nyanpasu.

Platform availability on this page reflects the downloads offered here, not every platform a project has supported historically. Maintenance status is a general guide; check each client’s documentation for current requirements and features.

01 / COMPARISON

Key differences between eight Clash clients

The client provides the interface, subscription management, and system integration; the core parses configs and handles connections. Using the same mihomo core does not mean clients share the same override workflow, permission requirements, or config storage location. The table is wide; scroll horizontally on smaller screens.

Compare clients available from our downloads page
Client Platforms available here Core and config format Maintenance Ease of use Key features and best for
Clash Plus
Top pick
Windows、macOS、Android、iOS Check core implementation and field support by platform; don't assume the desktop implementation applies to iOS Actively maintained Easy: import a subscription and verify the connection Everyday subscription use; a good starting point for first installs and multi-device setups
Clash Verge Rev Windows、macOS、Linux mihomo, the continuation of the Meta core family Actively maintained Intermediate; advanced settings require understanding overrides and permissions Subscription management, config overrides, service mode, and TUN; suited to desktop power users
FlClash Windows、macOS、Linux、Android mihomo Actively maintained Easy to intermediate Cross-platform interface and config management; suited to desktop and Android setups
Clash Nyanpasu Windows Depends on the selected core; with mihomo, follow its config syntax Actively maintained Intermediate; distinguish interface settings from core settings Config management and desktop workflow; suited to users willing to customize how they work
Clash for Windows
Discontinued
Windows; archived download Legacy Clash-family client; the bundled core depends on the archived package. Not equivalent to current mihomo Discontinued Familiar to existing users; troubleshooting compatibility with newer configs can take time For reproducing legacy setups and migration reference; not recommended for new long-term installs
Clash Meta for Android Android Clash Meta/mihomo family; Clash YAML Actively maintained Intermediate; requires understanding VPN permissions and background restrictions Config management and per-app proxying; suited to Android users who want configuration control
Surfboard Android Own implementation with Surge-style configs; not a Clash core Actively maintained Easy with a compatible config; more involved when migrating YAML For Android users who already have a compatible config
ClashX Meta
Discontinued
macOS; archived download Clash Meta family; capabilities depend on the bundled core Discontinued Basic menu bar use is easy; maintaining legacy configs is more involved Preserves the legacy menu bar workflow and serves as a migration reference; not recommended for new installs

02 / CHOOSE BY USE CASE

Picks for beginners, power users, and multi-device setups

Start with your must-haves, then compare interfaces. Avoid adding complexity to your whole setup for an advanced feature you don't need.

03 / CLIENT BREAKDOWN

Config support and practical limits

Clash Plus: best for new installs and multiple devices

Clash Plus is our top pick on this page. Downloads are available here for Windows, macOS, Android, and iOS. It suits users who want to build a straightforward workflow around subscription imports and everyday connections. The recommendation is based on platform coverage and an accessible setup path—not on treating every platform as if it used the same core. For custom YAML, less common protocols, or DNS fields, check support on your specific platform. In particular, don't copy desktop TUN settings straight to a mobile device.

If you use both a computer and a phone, first verify the subscription on one device, then import it on each device and check routing and permissions separately. The iOS download is available on the App Store; see the project website at clashplus.io. If an issue occurs on just one device, compare its platform settings and subscription output format before replacing every client.

See Clash Plus downloads by platform →

Clash Verge Rev: desktop overrides and rule management

Clash Verge Rev suits users who maintain configs on Windows, macOS, or Linux. The mihomo core handles protocols and rules, while the graphical interface provides access to subscriptions, proxies, and runtime settings. System proxy works for apps that follow the OS settings; TUN involves a virtual network interface, routing, and service permissions. They are separate options and do not necessarily need to be enabled together.

Before adding a persistent direct-connection rule or changing DNS, learn how the client combines configs and applies overrides. Editing a downloaded subscription file directly can mean losing your changes at the next update. A safer approach is to keep overrides in a separate local file and inspect the final config passed to the core. This client suits users who are comfortable reading logs, checking permissions, and managing local configs—not those choosing by button count.

See desktop downloads →

FlClash: a similar workflow on desktop and Android

FlClash is based on mihomo, with downloads listed here for Windows, macOS, Linux, and Android. If you switch often between a computer and an Android device, its similar interface can make subscriptions, policies, and connection settings easier to find. The operating systems still differ: desktop use involves system proxy settings and service permissions, while Android requires VPN authorization, background access, and per-app routing.

If you already have a Clash YAML config, start by checking that it imports, then verify rules, DNS, and less common protocols one by one. A successful import doesn't mean every field works as intended. If you combine a remote config with local changes, inspect the final config again after each subscription update to ensure local rules weren't overwritten and settings weren't duplicated during merging.

See FlClash downloads by platform →

Clash Nyanpasu: another desktop config manager

Clash Nyanpasu is an alternative for users who prefer a different desktop workflow; this page covers its Windows download. Try out how it handles subscription switching, config editing, logs, and system integration rather than treating its appearance as a measure of network performance. Protocol and field support depend on the core in use.

Before migrating, note the old setup’s core, mixed port, and local overrides. If the config includes mihomo-specific fields, confirm the new core recognizes them before connecting. Clash Plus is a better starting point if you just need to import a subscription and connect. Try Nyanpasu if you have a specific preference for how configs are managed.

See Nyanpasu downloads →

Clash for Windows: archive and migration reference

Clash for Windows is discontinued. Its archived download is for existing users who need to identify a legacy setup or migrate configs—not a long-term install for a new PC. Its old core is not equivalent to current mihomo, and may not parse newer protocols or fields found in modern subscriptions.

Before migrating, save the subscription URL, custom rules, policy group names, and local config. Restore them individually in the new client. Preprocessing scripts or client-specific settings from the old interface may not transfer as-is. Don't let old and new clients bind the same listening port. For testing, quit the old client and confirm the system proxy is restored before starting the new one. Familiarity with the old interface is useful, but not a reason to stay on a discontinued core.

Read the CFW migration guide →

Clash Meta for Android: mobile config management

Clash Meta for Android, often called CMFA, uses a Meta/mihomo-family core and suits Android users who want to keep using Clash YAML configs. On mobile, the first things to consider are VPN authorization, background operation, and which apps are covered. Confirm the system authorization prompt when connecting. If another VPN app is running, you’ll usually need to stop it first; don't assume two VPN services can run at the same time.

To let some apps connect directly, distinguish per-app bypass from domain rules in the config: bypass determines whether an app’s traffic enters proxy processing, while rules route connections that have already reached the core. If the connection drops when the screen locks, check battery optimization and background permissions before changing nodes. Choose CMFA for more control over mobile configs; if you just need a basic connection, compare Clash Plus’s workflow first.

See Android client downloads →

Surfboard: check the config format first

Surfboard is listed in our Android downloads, but it is not a Clash GUI and does not use a Clash core. It uses a Surge-style config format; renaming a Clash YAML file won't make it compatible. If your subscription service offers multiple output formats, choose one explicitly supported by Surfboard and verify that its node protocols, policies, and rule syntax are supported.

Surfboard is worth considering if you already have a compatible config. If you only have a Clash subscription and custom YAML, Clash Plus, CMFA, or FlClash is a better fit. Config conversion does not guarantee full compatibility: check DNS, rule order, and policy references afterward. Choose Surfboard because its config format fits, not as a drop-in replacement for a mihomo client.

See Surfboard downloads →

ClashX Meta: archived macOS menu bar client

ClashX Meta uses a Clash Meta-family core and is operated primarily from the macOS menu bar. It is listed here as a discontinued, archived client. It can help longtime users identify an existing setup and prepare migration files, but the name Meta does not mean it has every feature of current mihomo. OS upgrades, certificate changes, and newer config fields can all add to the cost of maintaining a legacy setup.

Before moving to Clash Plus, Clash Verge Rev, or FlClash, note your subscription, local rules, system proxy port, and startup settings. Quit the old client first to prevent both apps from changing system proxy settings. Choose the Apple Silicon or Intel download to match your processor. A similar menu bar interface doesn't mean the config folders or permission models are the same; verify the connection again after migrating.

See macOS client options →

04 / BEFORE YOU INSTALL

Final recommendations and compatibility checks

Default pick: start with Clash Plus for a new install. For desktop overrides and fine-tuned TUN settings, compare Clash Verge Rev. For a similar workflow on desktop and Android, consider FlClash; Android users who want more config control can look at CMFA. Surfboard requires a compatible config format, while CFW and ClashX Meta are archived for reference and migration.

  1. System and architecture: Check your OS version and processor, then choose the right installer on the downloads page. The same platform can have different processor architectures and package formats.
  2. Subscriptions and protocols: Check the service’s output format, node protocols, and support in your chosen core. Seeing a subscription name doesn't mean every node loaded correctly.
  3. System integration: Test the system proxy or mobile VPN connection first, then use TUN if needed. Handle virtual network permissions, routing conflicts, and background restrictions separately for each platform.
  4. Settings after updates: Check that local rules and DNS changes use an override method that will persist. Save a rollback config before changing advanced options.

Once you’ve chosen a client, visit the client downloads page. See the all-platform guide for installation and permissions, or the user guide for your first import and connection test. Test one client at a time to make issues easier to pinpoint.