Platform support · Core compatibility · Configuration workflow

Clash Client Comparison
Choosing a Platform and Core

Start by checking your operating system, then confirm your subscription format and how traffic is routed. The client determines the workflow; the core determines protocol and rule support. The same configuration may not work unchanged in every client.

Platform Support, Core, and Maintenance

Platforms listed are the packages available in this site's download center, not a complete history of each project's releases. Maintenance status is a general guide, not a substitute for checking project announcements before installing. Scroll horizontally to view the table on narrow screens.

Platform, core, maintenance status, setup difficulty, key features, and ideal users for eight clients
Client Platforms Available Here Core or Configuration System Maintenance Setup Difficulty Key Features and Ideal Users
Clash Plus Windows、macOS、Android、iOS mihomo ecosystem; support varies by platform Actively maintained Low Visual controls for subscriptions and proxy groups; suited to beginners and multi-device users
Clash Verge Rev Windows、macOS、Linux mihomo Actively maintained Moderate Desktop configuration management, services, and TUN settings; suited to advanced desktop users
FlClash Windows、macOS、Linux、Android mihomo Actively maintained Low to moderate Cross-platform interface and configuration management; suited to mixed desktop and mobile use
Clash Nyanpasu Windows Clash family; depends on the selected core Actively maintained Moderate Desktop interface and configuration management; suited to users comfortable separating interface and core settings
Clash for Windows Windows Legacy original Clash / Premium ecosystem Discontinued Easy with legacy configurations; migration requires checks Legacy interface and configuration reference; useful for reviewing existing setups
Clash Meta for Android Android Meta / mihomo ecosystem Actively maintained Moderate Configuration switching and per-app routing; suited to Android users
Surfboard Android Independent implementation; not a Clash core Actively maintained Easy with compatible existing configurations; conversion is more involved Independent configuration system; suited to users with Surfboard-compatible subscriptions
ClashX Meta macOS Legacy Meta-family implementation Discontinued Basic operations are straightforward Menu bar workflow; useful for reviewing legacy setups and planning a migration

What to Consider When Choosing Among Eight Clients

These reviews focus on configuration workflows and limitations. Interface complexity does not indicate speed, and a client's name alone does not tell you what its core supports.

Clash Plus

Top pick

A good fit if you want to import a subscription, select a proxy group, and adjust routing rules as needed. Downloads are available for Windows, macOS, Android, and iOS, making it a practical starting point for building consistent habits across devices. Rather than editing an entire configuration upfront, first use the interface to confirm that the configuration loaded and the intended policy is selected. This makes initial issues easier to diagnose.

Cross-platform availability does not mean every setting works the same way. Mobile background behavior and VPN permissions differ from desktop system proxy behavior, so check each device separately. Confirm support on your platform before relying on a specific protocol or TUN feature. Install the iOS app from the App Store. The product website is clashplus.io.

Clash Verge Rev

Built on the mihomo core for Windows, macOS, and Linux desktops. Its desktop controls suit users who regularly inspect connections, adjust proxy groups, manage configuration overrides, or configure TUN. For a Clash client on Linux, it is our first graphical-interface recommendation.

The trade-off is a more layered settings model. The original subscription, client-generated or overridden settings, and runtime core configuration may all differ. When troubleshooting, identify the effective values before changing rules. After enabling a service or TUN, check permissions and routing conflicts with existing VPNs rather than repeatedly switching nodes.

FlClash

Also built around mihomo with a graphical interface, FlClash is available here for Windows, macOS, Linux, and Android. It suits users who need proxy access on both desktop and Android and prefer a familiar workflow across devices. After importing a subscription, check proxy group names and routing mode before enabling features such as automatic updates.

A similar interface can help build consistent habits, but it does not automatically sync every local setting between devices. Manage app routing on phones, and listen addresses and system proxy settings on desktops, separately. When sharing configurations, transfer only the rules and subscriptions you actually need; don't copy another machine's network adapter names or file paths.

Clash Nyanpasu

Suited to users who value a desktop interface and are comfortable managing configuration and core options. This site offers a Windows package. Evaluate the client shell separately from the core it runs: changing the interface does not change protocol support, and configuration parsing depends on the selected core and its supported fields.

If you already have a mihomo configuration, check the selected core before importing your subscription. If a field is unsupported or startup fails, check the core logs first; don't delete an entire DNS section or rule set. If you only need to import a subscription and use it day to day, first see whether Clash Plus already meets your needs.

Clash for Windows

Discontinued

Often called CFW, this client belongs to the legacy original Clash / Premium ecosystem. Many older guides use its interface, so it still appears in historical documentation. The archive download is for reference in existing setups, not a reason to treat old button labels or features as standard across current clients.

Looking for a Clash for Windows alternative? Compare Clash Plus and Clash Verge Rev first. A migration involves more than copying a subscription URL: note your local rules, overrides, ports, and DNS settings. A configuration that worked before may rely on legacy core behavior, and an archived core should not be assumed to support newer protocols.

Clash Meta for Android

Often called CMFA, this Android client is part of the Meta / mihomo ecosystem. Its mobile interface suits users who want to inspect configurations, manage proxy groups, and control which apps use the VPN. Android VPN permission is required to route traffic; permission to start does not guarantee unrestricted background operation.

After installing, establish a foreground connection, then check battery optimization and background restrictions. If only some apps miss the expected routing policy, first check whether they are excluded and whether their traffic matches a rule before blaming the node. If another VPN app is installed, check how the two apps handle traffic to avoid repeated permission prompts without a stable route.

Surfboard

Surfboard is an Android proxy client, not another interface for a Clash core. It uses its own configuration system. Matching node protocols alone does not make a full subscription compatible: proxy groups, rule sets, and DNS fields in Clash YAML cannot be reused simply by changing the file extension.

If your provider offers a Surfboard-compatible configuration, you can keep using that format. If you only have a Clash subscription, a client in the same ecosystem is usually simpler. If you need to convert it, check protocol parameters, group types, and rule behavior individually. Subscription URLs may contain access credentials, so avoid sending them to untrusted conversion services.

ClashX Meta

Discontinued

A legacy macOS menu bar client built on a Meta-family core. Its workflow is lightweight, but the “Meta” name does not mean its configuration fields stay in sync with current mihomo. To check whether rules from an older setup will carry over, inspect how the target client parses them and review its connection logs.

For a new installation, consider Clash Plus, Clash Verge Rev, or FlClash first. When migrating, turn off system proxy and launch-at-startup settings in the old client before testing the new one, so multiple apps don't keep changing proxy settings. If a system upgrade causes compatibility issues, don't rely on an archived build just to keep the old interface.

Choose by Use Case

Start with the simplest workflow that meets your needs, then consider advanced features. Compare client performance under the same configuration and network conditions.

Checklist Before Switching Clients

The goal of migration is to preserve intended traffic routing, not to reproduce every old toggle in the same place.

  1. Save your configuration sources. Keep remote subscriptions, local rules, and client overrides distinct. Record essential ports, proxy group selections, and routing scope, and store backups securely on your device.
  2. Check the format and core. Clash YAML, Surfboard configurations, and individual node links are different kinds of input. Confirm the target supports your subscription format, then check its support for specific protocols and fields.
  3. Disable routing in the old client. Turn off its system proxy, TUN, and launch-at-startup settings. Test with only one client routing traffic to avoid port conflicts or competing default routes.
  4. Start with a minimal working configuration. Import your subscription, select a policy, and confirm browser access. Then check app traffic, LAN access, and DNS. If the system proxy works but a particular app does not, consider whether TUN is needed.
  5. Re-enable automation after testing. Once connection logs and rule matches look right, turn on subscription updates, launch at startup, and other scheduled tasks. Keep your pre-migration configuration for reference, and don't change both the subscription and rule system during testing.

Clash node speed tests measure results for a specific test target; they don't necessarily reflect real download speeds or app performance. To compare two clients, use the same node, similar test times, and the same routing method. If rules send test requests through different proxy groups, the results are not directly comparable.

Once you've chosen a platform, visit the download center to select the right package and architecture. If you're still unsure whether an issue relates to system proxy, TUN, or subscription import, check the FAQ before repeatedly uninstalling the client.