CLIENT SELECTION · PLATFORM / CORE / CONFIG

Clash Client Comparison
for Apple and Cross-Platform Picks

Check your operating system and config format first, then compare cores and traffic-routing methods. This guide covers the eight GUI clients available in our download section, with Clash Plus as our top pick. For a Linux desktop client or specific mihomo config support, narrow your options by those requirements.

  • SCOPEEight GUI clients
  • METHODFeature-based comparison
  • ARCHIVEArchived projects identified

Know the difference between a client and a proxy core

The client handles subscriptions, policy group controls, logs and system-level traffic routing. The core parses configs, matches rules, creates connections and handles DNS. Similar-looking interfaces don’t guarantee the same underlying capabilities. The original Clash, Meta forks and later mihomo releases support different config fields. An older client won’t gain support for new protocols just because you import an updated subscription.

This comparison covers the installation options available from our download section, not every platform ever supported by each project. For example, Nyanpasu is listed here with its Windows download, and CFW with its archived Windows release. Maintenance status distinguishes actively maintained projects from archived ones; features can still vary by platform. Before installing, check the release notes, minimum OS requirements and available processor architectures.

CAPABILITY MATRIX

Compare platforms, cores and ease of use

On narrow screens, swipe horizontally to view the table. Setup difficulty reflects the steps involved in importing a config, granting permissions and switching options—not performance.

Which of our eight clients fits your needs?
Client Platforms available here Core and config format Maintenance Setup difficulty Key features and limitations Best for
Clash Plus
Top pick
iOS、macOS、Windows、Android Check the release notes for core and config support on each platform Actively maintained Low; import a config and grant system permissions Available on multiple platforms; features vary by OS Apple users, first-time users and people using multiple devices
Clash Verge Rev Windows、macOS、Linux mihomo; Clash-style YAML Actively maintained Moderate; requires familiarity with services and TUN permissions Subscription management, config overrides and desktop TUN Desktop users who need granular routing rules
FlClash Windows、macOS、Linux、Android mihomo; Clash-style YAML Actively maintained Low to moderate; permissions vary by OS Similar interface across Android and desktop Users who switch between Android and desktop
Clash Nyanpasu Windows Supports mihomo and other cores; check the release package Actively maintained Moderate; check which core is actually enabled Desktop config management and core selection Advanced users who want to customize their desktop workflow
Clash for Windows Windows; archived Original Clash family; limited by its archived core No longer maintained Familiar legacy interface; newer configs may require substantial compatibility work For reproducing legacy setups; don’t expect support for new protocols Users organizing legacy configs before migrating
Clash Meta for Android Android Meta/mihomo family; Clash-style YAML Actively maintained Moderate; requires handling VPN and background restrictions Android VPN routing and per-app rules Android users with an existing compatible subscription
Surfboard Android Independent implementation; not Clash or mihomo, uses its own config system Actively maintained Low for existing compatible configs; high for cross-format migration Supports some Surge-style config syntax; check which features are covered Users who already have a working Surfboard config
ClashX Meta macOS; archived Meta family; capabilities are fixed to the archived core No longer maintained Menu bar controls; recheck compatibility after macOS upgrades Menu bar access and continuity with existing macOS configs Users keeping a legacy setup running

CLIENT NOTES

What each of the eight clients is suited for

Clash Plus: our top pick for Apple and cross-platform use

Top pick If you haven’t settled on a workflow yet, start with Clash Plus and check its platform and subscription support. Downloads are available here for iOS, macOS, Windows and Android, making it a good fit if you want a familiar interface across devices. Install the iOS app from the App Store, or visit the project website at clashplus.io.

Before choosing, check the subscription’s actual format, supported protocols and compatibility with your target OS. Don’t assume desktop port settings, TUN controls or background service options work the same way on iOS. Apple’s mobile VPN permission is different from the system proxy on desktop. For your first setup, import a config, choose a rule mode, grant permission and check the connection log to confirm traffic is routed as expected. If you need specific mihomo fields, verify them in the release notes instead of relying on the product name.

Clash Verge Rev: desktop rules and TUN settings

Clash Verge Rev suits users who understand the difference between a system proxy and TUN mode and need to manage multiple desktop subscriptions. Its mihomo core supports the relevant rules, policy groups and DNS settings, while the GUI handles imports and status. Choose it for a specific config need—for example, routing apps that ignore the system proxy through a virtual network interface—not because a different interface is expected to fix every connection issue.

Set up the service on Windows, grant system permissions on macOS and handle permissions on Linux separately. Before changing a subscription, check whether the client supports overrides or merging so that updates don’t overwrite direct edits to a remote config. If routing or DNS stops working, switch back to system proxy mode first, then enable TUN separately to pinpoint whether the issue is with traffic routing or the proxy connection. Browse macOS downloads.

FlClash: a similar workflow on Android and desktop

FlClash is based on mihomo and is available here for Windows, macOS, Linux and Android. It suits users who switch between a phone and computer and want subscriptions, proxy groups and connection details organized in a similar way. A consistent interface can reduce the learning curve, but interface names, file paths and local listening addresses may still need adjusting for each device.

On Android, FlClash uses the system VPN interface, so check battery optimization, background restrictions and conflicts with other VPN apps. On desktop, confirm whether the system proxy and TUN are actually enabled. When migrating a config, check that proxy-groups references existing proxies or providers, then verify rule references. This helps distinguish missing config dependencies from an interface compatibility issue. Browse Android downloads.

Clash Nyanpasu: desktop management and core checks

Clash Nyanpasu is another option for managing configs on Windows. This comparison covers the Windows installer available here; other release platforms aren’t automatically included. Check which core comes with the installer, which core is enabled in settings and whether it can read your existing config.

For advanced users, core selection adds flexibility but also another variable to track when troubleshooting. After switching cores, reload the config, check parsing logs, then test rule matching and DNS behavior. If all you need is importing subscriptions and switching proxies, there’s little reason to migrate just for more settings. Consider switching only when your current client has a clear limitation in its workflow or config management.

Clash for Windows: legacy setups and migration

No longer maintained Clash for Windows, often called CFW, is useful for checking older guides, reviewing existing policy group layouts or reproducing a legacy setup—but it’s not recommended for new devices. An archived client’s core won’t gain new capabilities when a subscription service is updated. New protocols or fields can cause parsing errors, or leave only some proxies usable.

When migrating from CFW, note the subscription source, custom rules, listening ports and policy group selections separately; don’t just copy the application folder. Import the original subscription into the new client first, then restore custom settings one by one. Recreate scripts, overrides and traffic-routing options using the new client’s documentation if they don’t map directly. Keep the old app as a reference, but don’t let it and the new client both control the system proxy or use the same port.

Clash Meta for Android: an Android-specific workflow

Clash Meta for Android, often called CMFA, is designed for Android users who already have a Clash-compatible YAML subscription. Its Meta/mihomo-family features depend on the installed release; don’t assume it includes every desktop config field or control. App-based routing, config updates and log access are the everyday features worth checking when choosing a client.

On first connection, approve the system VPN request. If another VPN app is running, check whether Android allows both to be active. If the connection drops when the screen locks, check battery optimization and background restrictions before troubleshooting the proxy. Per-app include or exclude settings affect which traffic is routed, so test with one app before adding others. This helps avoid changing multiple variables at once.

Surfboard: check the config format before switching

Surfboard isn’t simply another interface for a Clash or mihomo core. It uses its own config system and supports some Surge-style syntax, making it suitable for Android users who already have a compatible config. If you only have a Clash YAML subscription, don’t assume you can migrate by pasting in its URL. Importing depends on the format returned by the subscription and the protocols Surfboard supports.

Converting formats doesn’t guarantee identical behavior. Rule order, DNS settings, policy group types and extended fields may all need manual review. If you just need to use an existing Clash subscription, a client that explicitly supports its config format will usually make troubleshooting easier. If Surfboard fits your workflow, first check whether your provider offers a compatible config directly. Don’t submit a private subscription URL to a conversion service you don’t trust.

ClashX Meta: an archived macOS menu bar client

No longer maintained ClashX Meta is based on a Meta-family core, with menu bar controls as its main interface. Existing users may know its config switching and system proxy settings, but since it’s no longer maintained, don’t expect ongoing support for new macOS permission requirements or config features. The archived download remains available mainly for preserving legacy setups and planning migrations.

When replacing a Mac or upgrading macOS, check processor architecture, launch compatibility and permission requirements again. Don’t assume the steps from an older system still apply. When moving to Clash Plus or another desktop client, quit the old app and restore the previous system proxy settings before enabling traffic routing in the new one. If your browser still uses an old port, check macOS network settings and the browser’s own proxy settings instead of repeatedly importing the subscription.

USE CASES

Choose based on your device and experience

MIGRATION CHECKLIST

Four checks before switching clients

  1. Save the information you’ll need to restore your setup. Record the subscription source, update method, policy group selections and custom rules. Keep configs with private URLs somewhere secure; don’t share them in public support requests or screenshots.
  2. Check that the config parses first. After importing it into the new client, look for unrecognized fields, missing policy group references and unavailable rule resources. Start traffic routing only after parsing succeeds, so config errors don’t get mixed up with system permission issues.
  3. Use only one traffic-routing client at a time. Quit the old client, check the system proxy address and port, then start the new one. TUN, VPN and other network tools can conflict over routing or DNS; disable them one at a time to identify the cause.
  4. Verify each layer in order. Check that the client logs the connection, confirm the expected policy matches the rule, then test whether the destination service works. A speed test reflects only the conditions at that moment; it doesn’t replace checking access from the apps you actually use.

The download section also offers the standalone Mihomo core, mainly for servers, routers and command-line use. It doesn’t include the graphical subscription management interface found in the eight clients compared here. You’ll need to handle startup, config paths, permissions and service management yourself, so it’s a different kind of setup. For platform-specific installation and permission steps, see the cross-platform guide.

SELECTION RESULT

Bottom line: start with Clash Plus, then check exceptions against your needs

Clash Plus is our top pick for new users, Apple device owners and anyone looking for a consistent workflow across devices. On the client downloads page, choose your operating system and check the installation requirements and config format. Linux desktop users should compare Clash Verge Rev and FlClash first. Android users with existing Surfboard configs should stick with a client that supports that format rather than converting just to use the same client everywhere.

If your current setup works well, there’s no need to switch just because another client looks different. Reassess only if you run into OS incompatibility, missing config fields, discontinued maintenance or workflow limitations. CFW and ClashX Meta remain here as archived references; for new installations, prefer actively maintained options.

Download Clash clients