Choose a Client / Platforms · Cores · Configuration

Clash Client Comparison

Start with your operating system, then check subscription format, rule support and network routing options. A similar interface doesn’t mean identical settings or core behavior.

Recommended: Clash Plus

Start with Clash Plus for a fresh install

A good fit if you mainly import subscriptions, choose proxy groups and use rule-based routing. Check the platform page for Windows, macOS, Android or iOS; Linux users should compare Clash Verge Rev and FlClash first.

Download Clash

Platforms, Cores and Maintenance

Platforms listed reflect the installers available on our download pages, not every platform a project has ever supported. Setup difficulty is a qualitative estimate of the steps from importing a subscription to connecting—not a performance rating.

On narrow screens, scroll horizontally to see the full table. Select a client name to jump to its review below. Meta is a common shorthand for Clash Meta; mihomo is the core’s later name.

Platform support, core, maintenance, setup difficulty, key features and recommended users
Client Platforms with downloads here Core Maintenance Ease of setup Key features Best for
Clash Plus
Top pick
Windows、macOS、Android、iOS mihomo-based; implementation varies by platform Actively maintained Easy: start with subscriptions and rule mode Subscription imports, proxy selection, rule-based routing New installs, everyday use, multiple devices
Clash Verge Rev Windows、macOS、Linux mihomo Actively maintained Easy for basics; overrides take some learning Configuration management, overrides, TUN Power users on desktop, Linux desktop users
FlClash Windows、macOS、Linux、Android mihomo Actively maintained Easy to start; advanced settings require core knowledge Cross-platform interface, subscription management, rule-based routing Using desktop and Android together
Clash Nyanpasu Windows Clash-family; features depend on the selected core Actively maintained Moderate: distinguish interface settings from core settings Configuration processing, core management, interface customization Desktop users willing to maintain local configurations
Clash for Windows Windows Original Clash / legacy Premium lineage Discontinued Legacy workflows are well documented; assess compatibility yourself Legacy configuration management and desktop proxy workflows Users with existing setups; migration reference
Clash Meta for Android Android Meta/mihomo family Actively maintained Moderate: requires VPN permissions and background settings Clash configuration, per-app proxying, VpnService Users familiar with Android network settings
Surfboard Android Own implementation; not a Clash core Actively maintained Easy with compatible configurations; format migration takes more work Compatible configuration formats, proxy management, Android VPN Users with Surfboard-compatible subscriptions
ClashX Meta macOS Legacy Meta-family core Discontinued Basic use is easy; maintaining legacy configurations takes more work Menu bar controls, system proxy, configuration switching macOS users with an existing installation

What Each Client Offers for Configuration

The client handles the interface, subscription storage and system integration; the core handles protocol processing, rule matching and DNS. Keep these layers separate when choosing a client—an option in one interface isn’t necessarily available in every Clash client.

Top pick

Clash Plus: Subscription Imports and Everyday Routing

For a first install, consider Clash Plus. The everyday workflow centers on importing a subscription, enabling a profile, choosing a proxy group and connecting. It’s a good fit if you want to get started with rule-based routing before learning about DNS and TUN. Official website: clashplus.io. Our download page links to the available installers; iOS users can get it from the App Store.

For multiple devices, start by using the same subscription source and understanding what each proxy group does, then configure network routing separately on each device. A desktop system proxy, Android VPN service and iOS network extension work differently, so don’t copy the same setup screenshot across platforms. If an option is missing, check what that platform actually supports rather than relying on the client’s name.

See Clash Plus downloads by platform →

Clash Verge Rev: Desktop Overrides and TUN

Clash Verge Rev is for Windows, macOS and Linux desktop users. The basic workflow is to import a subscription and enable the system proxy. If you need more applications routed through the proxy, look into service permissions, TUN and DNS settings. It uses mihomo, so follow the documentation for that core’s configuration fields rather than relying on old guides for original Clash.

Its main draw is desktop configuration management and the override workflow. Remote subscription updates may replace the original configuration, so keep persistent custom rules in the client’s supported override or configuration-processing feature, then check the generated result. Test the regular proxy before enabling TUN to help distinguish subscription issues from system routing problems.

See Linux desktop clients →

FlClash: A Similar Workflow on Desktop and Android

FlClash supports Windows, macOS, Linux and Android, and uses mihomo. It’s worth considering if you want a similar interface and workflow on your computer and Android device. Concepts such as subscriptions, proxy groups and rules carry over, but permissions, notifications, background operation and network routing still need separate setup on each platform.

Using the same core doesn’t mean every setting is exposed in the same way. When comparing FlClash with other mihomo clients, check whether its local configuration editor, persistent overrides and connection details work for you. If you already have a stable subscription, test it as-is before adding custom settings to avoid changing too many variables at once. Linux users should also check their distribution and package format.

Clash Nyanpasu: Configuration Processing and Core Management

Clash Nyanpasu is for users who want to customize the desktop interface and configuration workflow. We provide a Windows download. You’ll need to understand both the client’s settings and the core it runs: the core determines protocol support, DNS fields and rule behavior, while the interface generates configuration for the core to process.

If you just need to import a subscription and connect, compare Clash Plus first. Consider Nyanpasu if you need to manage local configurations, explore configuration processing or customize the interface. Before changing cores, keep a working configuration and check that the target core supports its fields. A successful launch doesn’t mean the entire configuration loaded as expected—check error messages and actual rule matches.

Discontinued

Clash for Windows: Legacy Setup Reference and Migration

Clash for Windows, often called CFW, appears in many older guides. Its legacy configuration workflow was built around original Clash and the Premium lineage. Don’t assume it supports every newer mihomo field or protocol just because its installer includes the name Clash. We keep a Windows archive for reference by existing users, but don’t recommend it for new installs.

Before migrating to Clash Plus, Clash Verge Rev or FlClash, export your configuration and note the ports in use. Then disable the old client’s system proxy and background services. Don’t run two clients on the same port. Configuration scripts and interface settings from the old client may not transfer directly; migrate the subscription first, then rebuild only the local rules you need.

Clash Meta for Android: Permissions and Per-App Proxying

Clash Meta for Android, often abbreviated as CMFA, uses a Meta/mihomo-family core. It suits users with an existing Clash configuration who are comfortable managing Android VPN permissions and background settings. On first connection, approve the system VPN prompt. Per-app proxying also depends on which apps are routed through the VPN—not just the domain rules in your configuration.

If the connection drops when your phone locks, the cause may be battery optimization, background restrictions or a conflict with another VPN app—not necessarily the proxy node or core. First make sure only one VPN service is trying to route network traffic, then check background permissions. For a step-by-step subscription setup, try Clash Plus; to keep using CMFA, follow the Android guide and configure each setting separately.

See Android clients →

Surfboard: Check the Configuration Format First

Surfboard is an Android proxy client, but it isn’t another interface for Clash or mihomo. It uses its own implementation and configuration format, so a Clash YAML file can’t be imported directly as a native configuration. It’s included here because Android users often compare these clients, not because their configurations are interchangeable.

If you already have a Surfboard-compatible subscription, you can keep using it. If you only have a Clash subscription, ask your provider whether it offers a Surfboard-compatible format. Conversion may change proxy groups, rules or protocol settings, and a successful conversion doesn’t guarantee identical behavior. Choose conversion tools carefully; never submit a subscription link containing access credentials to an untrusted service.

Discontinued

ClashX Meta: A Legacy macOS Menu Bar Client

ClashX Meta follows the Meta lineage, with menu bar controls and configuration switching as its main workflow. We keep it here as an archived client. For a new macOS install, compare Clash Plus, Clash Verge Rev and FlClash first; an interface that still works in an older guide doesn’t mean the project is still maintained.

Before migrating from ClashX Meta, note the active configuration, system proxy status and any local custom rules, then quit the old client. Choose the right installer for Apple Silicon or Intel. Review permission prompts again after a system upgrade. Don’t just copy the old configuration file and overlook helper services or proxy settings—leftover proxy addresses can prevent you from connecting after the new client exits.

See macOS clients →

Choose by Use Case

Focus on what your current device needs. There’s no need to take on extra maintenance for settings you won’t use yet. Understanding what each switch changes matters more than turning everything on at once.

Configuration Checklist Before Switching Clients

Keep a recoverable starting point before migrating. If the same subscription behaves differently across clients, troubleshoot configuration generation, the core and system-level routing as separate layers.

  1. Keep track of configuration sources. Record your subscription URL, local rules and proxy group selections. Separate provider-supplied content from configuration generated by the client. Saved configurations may contain credentials; don’t upload them to public forums.
  2. Free ports and disable network routing. Quit the old client and turn off its system proxy, TUN or VPN service. Mixed ports and external controller ports serve different purposes; check each one after migration to avoid conflicts.
  3. Import first, then add custom settings. Start with only the original subscription enabled in the new client. Test basic connectivity and rule matching. Once it works, add overrides, DNS changes, rule sets and per-app settings one at a time.
  4. Test the apps you actually use. A working browser doesn’t mean other apps are routed through the proxy. Check the target app’s connection log or rule match. If something fails, first confirm that the client is routing the app, then check the proxy group and node.

If you don’t have legacy configuration to preserve, Clash Plus remains our first recommendation. Linux desktop users should compare Clash Verge Rev and FlClash first. For advanced features, follow the settings actually available on your platform and the documentation for your selected core. Check system requirements on the client downloads page, or troubleshoot subscription and connection issues in the Help Center.