Client Guide / Platforms · Cores · Configuration

Clash Client Comparison

Check your operating system and subscription format first, then compare rule management, traffic routing, and ongoing maintenance. Similar client names don't guarantee the same configuration or features.

How to choose

Clash Plus for beginners

If you don't already have a preferred setup, start with Clash Plus. Downloads are available here for Windows, macOS, Android, and iOS. It's a straightforward way to import a subscription, choose a proxy node, and connect in rule mode. Make sure your subscription format works with your platform before installing. Check the system architecture on the download page, then follow the setup guide to verify the connection—don't rely on the toggle alone.

For desktop overrides and finer configuration control, compare Clash Verge Rev. For a similar workflow across computer and Android, consider FlClash. Linux users can compare Clash Verge Rev and FlClash directly. If your current setup works well, don't switch just for a different interface. First check that the new client can preserve the rules, proxy groups, and DNS behavior you rely on.

Platform coverage on this page reflects the download options available here, not every platform a project has ever supported. Maintenance labels are qualitative and don't promise future updates.

Eight clients

Platforms, cores, and maintenance

The original Clash, Clash Meta, and mihomo aren't interchangeable names for the same interface. Clash Meta was the earlier name for an extended core fork, later developed under the mihomo name. The interface handles subscriptions, controls, and configuration; the core handles protocols, rules, DNS, and connections. Switching cores in the same interface can change which configuration fields are available.

Based on the download options available here. Ease-of-use descriptions are relative, not performance ratings.
Client Platforms Core and configuration Maintenance Ease of use Key features and focus Best for
Clash Plus Windows、macOS、Android、iOS Check release notes for each platform; core implementations may differ across platforms Actively maintained Easy; start with the graphical workflow Subscription imports, node selection, and rule-based routing across platforms First-time setup and multi-device users; our top pick
Clash Verge Rev Windows、macOS、Linux mihomo Actively maintained Easy for basic use; overrides require configuration knowledge Desktop subscription management, configuration merging and overrides, TUN Users who want a configurable desktop workflow
FlClash Windows、macOS、Linux、Android mihomo Actively maintained Easy; a similar interface across devices Cross-platform interface, proxy groups, and connection details Users who use both desktop and Android
Clash Nyanpasu Windows Supports core management; use the matching syntax for Meta/mihomo configurations Actively maintained Moderate; distinguish interface settings from core settings Desktop configuration management, core selection, and interface customization Desktop users comfortable learning how configuration flows through the app
Clash for Windows Windows; archived download available here Original Clash ecosystem; historical releases commonly used Clash Premium Discontinued Familiar to longtime users; moving to a new configuration takes work Reference for legacy profiles and rule workflows Recreating legacy setups; not recommended for new installations
Clash Meta for Android Android Clash Meta / mihomo Actively maintained Moderate; requires understanding Android VPN permissions Android VPN routing, per-app access controls, configuration imports Android users with an existing Clash YAML configuration
Surfboard Android Own proxy implementation with Surge-style configuration; not mihomo Actively maintained Depends on subscription format; cross-format migration can be challenging Surge-style configuration workflow and Android VPN routing Android users with a compatible configuration
ClashX Meta macOS Clash Meta ecosystem; archived core capabilities depend on the package Discontinued Easy to use basic menus; configuration maintenance requires manual work Menu bar controls and local YAML configuration management Users maintaining an existing macOS setup

Read more

Where each client fits

These reviews focus on setup effort and configuration compatibility, not interface appearance or node speed-test results. Select a client name to expand its review.

Clash Plus: a straightforward path from subscription to connection

Clash Plus suits users who haven't settled on a configuration workflow. Import an existing subscription through the graphical interface, choose a node from a proxy group, and connect in rule mode. This is easier than editing a full configuration from the outset and helps separate subscription, node, and system proxy issues. It's our top pick because it gives first-time users a clear starting point—not because one client can meet every advanced need.

For multi-device use, check platform permissions and configuration formats separately. Desktop system proxy settings and a phone's system VPN interface route traffic differently; don't assume the desktop controls work the same way on mobile. For specific protocol, TUN, or override requirements, check the release notes for your platform. iOS users can find the App Store link on the download page. The product website is clashplus.io.

See Clash Plus downloads by platform →

Clash Verge Rev: desktop overrides and configuration control

Clash Verge Rev uses the mihomo core and supports desktop users on Windows, macOS, and Linux. The basic workflow is still to import a subscription, choose a proxy group, and enable the proxy. Its main advantage is how it organizes subscription settings and local overrides. This configuration control is useful when you need to keep custom rules, adjust DNS, or add shared settings to different subscriptions.

The trade-off for advanced control is understanding the merged result. Proxy groups with matching names in a subscription, local overrides, and fields generated by the client can all affect behavior. After editing, check the runtime configuration and connection logs. TUN can also involve services, permissions, and routing, so it shouldn't be your first fix for every connection issue. Linux users should distinguish the desktop app from deploying mihomo directly on a server.

See desktop installers →

FlClash: a similar workflow on desktop and Android

FlClash uses mihomo and is available here for desktop and Android. If you regularly switch between a computer and phone, its similar interface makes subscriptions, proxy groups, and connection logs easier to navigate. But a shared look doesn't mean configurations sync automatically or that every device can use the same traffic-routing settings.

On mobile, check Android VPN permissions, background restrictions, and conflicts with other VPN apps. On desktop, verify the system proxy, listening port, and TUN status. When migrating from another client, start with a basic configuration and test it before adding custom rules. Copying an old client's private configuration folder can mix interface preferences with core settings and make troubleshooting harder.

See FlClash downloads by platform →

Clash Nyanpasu: check which core is running

Clash Nyanpasu is for users who want more control over desktop configuration and interface behavior. Windows downloads are available here. Keep its core management features separate from the capabilities of the core itself: protocol and DNS support depend on the core currently running, not the client name. Before using Meta/mihomo configuration, confirm which core is selected and what it supports.

This flexibility suits users who are comfortable reading runtime logs, but it adds more layers to troubleshooting. If an import fails, check the configuration format; if startup fails, inspect core output; investigate rules and routing only when connections behave unexpectedly. Avoid switching cores, changing DNS, and enabling TUN all at once, or you won't know which change caused the result. For a basic subscription connection, start with a simpler workflow.

See the Windows client →

Clash for Windows: archived setups and migration reference

Clash for Windows is discontinued. It introduced many users to profiles, system proxy settings, and proxy groups, but familiarity with an old workflow doesn't tell you whether it's compatible today. The original Clash and historical Premium cores also have different capabilities from mihomo. Archived installers may not support newer protocols, configuration fields, or system behavior.

Keep it for recreating an existing setup, reading an old configuration, or planning a migration—not as a long-term choice for a new computer. Before moving, back up your subscription source, custom rules, ports, and DNS settings. The old interface's configuration database may not import directly; migrating the settings you need one by one is easier to verify than copying the entire folder. For a new installation, choose a client that's still maintained.

See alternatives to Clash for Windows →

Clash Meta for Android: for users with existing YAML configurations

Clash Meta for Android, often called CMFA, uses the Clash Meta/mihomo core ecosystem and suits Android users with a compatible Clash YAML configuration. It routes device traffic through Android's VPN interface, which requires system permission when you first connect. Granting permission only enables routing; you still need to choose a working proxy group and check the connection log to confirm requests match the intended rules.

On Android, common issues stem from system settings: battery optimization can restrict background activity, per-app access controls determine which apps use the proxy, and another VPN app may already be using the system interface. If the connection drops, check the app's status and system restrictions before assuming the subscription has expired. Choose an installer for your device architecture. If unsure, read the download page instructions instead of guessing from the filename.

See Android downloads and requirements →

Surfboard: check Surge-style configuration compatibility first

Surfboard isn't another mihomo interface. It uses its own proxy implementation and Surge-style configuration, so first check whether your existing subscription is available in a compatible format—not whether the app has a similar-looking import button. Renaming a full Clash YAML file won't convert its proxy groups, rule providers, or DNS fields into a Surfboard configuration.

Android users with a compatible subscription and established workflow may want to keep using it. For newcomers with only a Clash-format subscription, a client that reads that format directly is simpler. Format conversion can also lose protocol parameters or rule behavior, so verify policy selection and connections even when the import succeeds. Subscription URLs often contain credentials; don't submit them to unfamiliar online conversion services just to test compatibility.

See Surfboard downloads →

ClashX Meta: a legacy macOS menu bar workflow

ClashX Meta is a macOS menu bar client based on the Clash Meta ecosystem, and is no longer maintained. It's a reference for users with a stable setup who need to understand a legacy environment—not a reason to overlook differences between its archived core and current macOS. An old installer may read some configurations without supporting every field or protocol added to mihomo since.

When moving to a maintained client, note your system proxy settings, subscription source, local rules, and DNS parameters separately. Choose an Apple Silicon or Intel installer based on your processor, not just your macOS version. If the old setup relies on a particular routing method, test it separately in the new client. Don't run two proxy apps at once and risk conflicts over system proxy settings or listening ports. For a new installation, compare Clash Plus, Clash Verge Rev, and FlClash.

See macOS clients →

Choose by your needs

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

Before and after installation

Client migration checklist

Change one thing at a time during migration. Save the old setup first, test the new one, and remove the old client only when you're ready. If something goes wrong, you'll know how to roll back instead of guessing between two apps and multiple configurations.

Before installing: save your sources and local changes

Record your subscription source, proxy group names, custom rules, listening ports, and DNS settings. Separate provider-supplied settings from local overrides, especially rules that must survive subscription updates. Backups may contain proxy credentials; keep them somewhere secure and don't upload them publicly.

First launch: use only one traffic-routing app

Turn off the old client's system proxy and TUN before launching the new one. Check for port conflicts, import a compatible configuration, and confirm that the core starts correctly. Use basic rule mode for the first test. Once the connection works, restore overrides and more complex network settings one at a time.

Verify the connection: check rules and the exit node

Visit destinations that should bypass the proxy and ones that should use it. Check the connection log for the matched rule, proxy group, and final node. Loading one web page only confirms that request worked; it doesn't prove that all apps are routed. For further checks, see the connection troubleshooting guide.

Ongoing maintenance: make sure updates preserve your changes

Update the subscription manually once, then check that local rules remain and proxy groups are still available. Make sure rules don't point to renamed groups. Once the new setup is stable, remove the old client's startup items and leftover proxy settings, keeping a recoverable copy of your configuration.

Once you've chosen a client, visit the download center and pick an installer for your platform. If any terms are unfamiliar, see the glossary of proxy groups, TUN, DNS, and more. You don't need to learn every configuration field before making your first connection.

Download the latest version of Clash