Clash Clients
Compared and Explained

Start by checking your operating system and configuration format, then compare how each client handles rules, DNS, and TUN. Clash Plus is our top pick for new installations; choose another option when you need desktop overrides or Linux support.

Platform availability reflects the installers listed on our download page, not every platform a project has ever supported. Setup difficulty describes the configuration workflow, not performance.

Three things to check before choosing

The client provides the interface; the core parses configuration, matches rules, and establishes connections. Evaluate them separately.

Device and installer

Check supported operating systems and processor architecture first. Apple Silicon and Intel installers are not interchangeable; on Android, confirm whether you need ARM64 or ARM. Feature comparisons only matter once the installer runs on your device.

Configuration and core

Check whether your subscription provides Clash YAML or a different client format. Meta is a former name associated with mihomo, not an entirely separate configuration ecosystem. However, older cores may not support newer fields.

Which traffic needs to be routed?

For apps that follow the system proxy, enabling it is usually the first step. To route games, command-line tools, or UDP traffic, check TUN support, permissions, and routing options. TUN captures traffic, but the selected mode and rules still determine where it goes.

Eight Clash clients compared

On narrow screens, scroll the table horizontally. Maintenance status is a qualitative summary; check the installer notes and in-app information for supported protocols, system requirements, and core combinations.

Client platform, core, maintenance status, setup difficulty, key features, and recommended users
Client Platforms available here Core and configuration format Maintenance Setup difficulty Key features and limitations Best for
Clash Plus
Top pick
Windows、macOS、Android、iOS Platform-specific implementation; check the client documentation for capabilities Actively maintained Easy: start by importing a configuration Visual configuration and connection management; permission settings vary by operating system First-time setup, everyday connections, and multiple devices
Clash Verge Rev Windows、macOS、Linux mihomo Actively maintained Moderate: understand the difference between configuration and overrides Configuration overrides, service mode, system proxy, and TUN management Users who need advanced desktop settings
FlClash Windows、macOS、Linux、Android mihomo Actively maintained Easy: controls are grouped in one interface Cross-platform interface and configuration management; traffic-routing options vary by system Users who switch between desktop and Android
Clash Nyanpasu Windows Can manage different cores; features depend on the selected core Actively maintained Moderate: requires choosing a core Desktop configuration and proxy management, with interface customization Users who want to tailor their desktop workflow
Clash for Windows
Archived
Windows, archived builds Original Clash family; support varies across legacy builds No longer maintained Familiar to existing users; check compatibility with newer configurations Legacy configuration management, system proxy, and compatibility with older setups Troubleshooting and migration from legacy setups
Clash Meta for Android Android Meta/mihomo family Actively maintained Moderate: requires VPN and background permissions Configuration import, policy group selection, and per-app access controls Users who need per-app routing on Android
Surfboard Android Own implementation; supports Surge-style configurations, not a Clash core Actively maintained Depends on your familiarity with the configuration format Text-based configuration and rule management; not interchangeable with Clash YAML Android users with a compatible configuration
ClashX Meta
Archived
macOS, archived builds Meta family No longer maintained Basic controls are straightforward; upkeep requires manual work Menu bar controls, configuration switching, and system proxy management Users keeping a legacy macOS workflow

Client-by-client reviews and limitations

These comparisons focus on configuration workflows and long-term maintenance. Interface appearance does not indicate core capabilities or connection speed.

Clash Plus: our pick for new installations

New users can start with Clash Plus and focus on three basics: import a configuration, choose a policy, and connect. It has options for Windows, macOS, Android, and iOS, making it a good fit if you want a similar workflow across phones and computers. Find iOS installation options and product details via the download page. The official site is clashplus.io.

Cross-platform availability doesn't mean every setting works the same way. Desktop system proxies, mobile VPN permissions, and background access rely on different operating system features. Before choosing a client, confirm that your platform supports the protocols and rule fields you need. Don't assume every platform uses the same core just because the product name is the same, or follow another desktop client's setup guide step by step.

Explore Clash Plus for each platform →

Clash Verge Rev: desktop overrides and TUN management

Clash Verge Rev supports Windows, macOS, and Linux desktops. Its mihomo-based configuration features bring rule providers, policy groups, DNS, and TUN into one troubleshooting workflow. Overrides are a better fit than editing subscription files directly when you need to adjust local DNS, keep LAN traffic direct, or preserve local changes after a subscription update.

The tradeoff is that you need to distinguish the original subscription, client settings, and the final effective configuration. A port changed in the interface may not be retained alongside the subscription's settings. Service mode and TUN may also require extra system permissions. If the result doesn't match expectations, check the final configuration and logs first, then narrow it down to the subscription, overrides, or routing—rather than changing several settings at once.

See Linux and desktop installation options →

FlClash: a similar workflow on desktop and Android

FlClash is based on mihomo and offers Windows, macOS, Linux, and Android installers on our download page. It's a good fit if you want to reduce the learning curve across devices: configuration management, policy selection, and connection status work in a similar way. With the same compatible configuration, it's also easier to compare proxy group names and rule matches.

A similar interface doesn't erase differences between operating systems. Android VPN services and per-app access controls are different from desktop system proxies and virtual network adapters. When sharing a configuration, sync stable proxy groups and rules; verify listener addresses, file paths, and traffic-routing settings on each device. Choose FlClash for a consistent cross-device workflow, not because the same interface guarantees the same background behavior.

Explore Android client options →

Clash Nyanpasu: a customizable desktop workflow

Clash Nyanpasu stands out for desktop configuration management and interface customization. This comparison covers the Windows installer currently listed on our download page, not other release formats the project may offer. It's an advanced option for users who regularly check proxy groups, switch configurations, or customize desktop controls.

Pay close attention to which core is actually running. A client that can manage multiple cores doesn't mean they all recognize the same protocol fields; after switching cores, you may need to recheck a configuration that used to work. Confirm what the configuration requires, choose a core, and then customize the interface. If all you need is to import a subscription and stay connected, a simpler workflow is the better fit.

Explore Windows client options →

Clash for Windows: legacy setups and migration

Clash for Windows is no longer maintained. Keep it around to follow older guides, inspect existing configurations, or plan a migration—not because archived software is a better fit for an older PC. The original Clash-family core differs from current mihomo, so examples using newer protocols, DNS fields, or rule features may not work in a legacy setup.

Before migrating, export a readable configuration and note local ports, policy selections, app proxy settings, and startup options. Keep a backup of the old configuration until the new client is verified, but don't let both clients modify the system proxy or route traffic at the same time. Archived software can't keep up with system changes. For a new installation, choose an actively maintained client; keep the old setup only as a rollback option during migration.

Read about archived clients and alternatives →

Clash Meta for Android: per-app routing and mobile configuration

Clash Meta for Android, often shortened to CMFA, is designed for Android configurations in the Meta/mihomo family. It's worth considering if you already have Clash YAML and need to choose which apps send traffic through the VPN service. After importing, check that the configuration parses, review proxy groups and rules, then grant Android VPN permission.

If the mobile connection is unstable, check battery optimization, background restrictions, and whether another VPN app is using the system VPN slot. Apps excluded from VPN routing usually won't reach the core for domain-based rule matching; that's different from a DIRECT rule in the configuration. If you need fine-grained control by app and domain, understand these two layers before enabling them one by one.

See CMFA downloads and platform details →

Surfboard: check the configuration format first

Surfboard is an Android client, but it doesn't use a Clash core. It has its own implementation and supports Surge-style configurations, making it a fit for users with configurations in that format who are comfortable editing text-based rules. It's included here to clarify download options and format compatibility—not as a drop-in replacement for every tool that uses Clash YAML.

When migrating from a Clash configuration, recheck proxy definitions, policy groups, rule syntax, and supported protocols. Renaming a file or changing its extension won't convert it. If your subscription provider offers a Surfboard-compatible format, choose that and verify the converted rules. If your existing guides and configuration are built around mihomo, a client compatible with that ecosystem is usually the more straightforward choice.

Get Surfboard →

ClashX Meta: a legacy macOS menu bar workflow

ClashX Meta uses a Meta-family core, with controls centered around the macOS menu bar and configuration files. It is no longer maintained and is included here as an option for existing setups. When following an older guide or migrating a Mac configuration, use the menu bar to check the current mode and system proxy status—but don't assume it supports every current mihomo field.

Before switching clients, disable the old app's system proxy and startup option to prevent it from overriding new settings after a restart. Choose the right installer for Apple Silicon or Intel. If you need newer core features, routing support, or system integration, consider Clash Plus, Clash Verge Rev, or FlClash. Keep the old configuration for reference, but don't rely on an archived client for ongoing needs.

Explore actively maintained and archived macOS options →

Narrow down your options by use case

Start with what you need to do, then choose a client. These recommendations aren't based on screenshots or untested claims about resource usage.

Migration checklist

A successful migration means the configuration, routing, and app behavior all match expectations—not just that the interface says connected.

  1. Back up your configuration and local changes. Save overrides, rule files, and port settings that aren't part of the subscription. Configurations may contain subscription URLs and proxy credentials. Keep them local; don't post the full file in a public forum.
  2. Stop the old client from routing traffic. Turn off its system proxy, TUN, and startup options, then quit the app. You can install two clients on one device, but only one should route traffic during testing.
  3. Confirm the new configuration parses. After importing, check the logs, proxy group references, rule providers, and file paths. If a field isn't supported, consult the target core's documentation rather than deleting an entire section blindly.
  4. Test the basic route first. Start with the system proxy or mobile VPN, and test apps that should use the proxy as well as those expected to connect directly. Then enable TUN, DNS interception, and other features one at a time.
  5. Check that settings persist after updates. Update the subscription once and confirm local rules are still present. Restart the client and check policy selections and routing status. Clean up the old setup only after everything passes.

The standalone mihomo core is for users who want to manage configuration, services, and routing themselves. It isn't a full graphical client. For servers, routers, and automated deployments, choose a build from the core downloads. Most desktop users are better off starting with a graphical client, which makes system permissions and the effective configuration easier to inspect.

Recommendations and common caveats

Clash Plus is our top pick for new installations. If you need a Linux desktop client or a more explicit mihomo configuration workflow, compare Clash Verge Rev and FlClash. Consider other options if you have a specific format or need to keep a legacy workflow. Find all installers on the client downloads page.

Will switching clients always improve connection speed?

Not necessarily. Connection performance also depends on the outbound server, network route, protocol, DNS, and rule selection. Compare clients on the same network, with the same configuration, and check that the selected policy is identical. Changing the interface alone doesn't prove the underlying connection has improved.

Can I import a configuration labeled Meta into a mihomo client?

Meta and mihomo are linked through the project's naming history, and many configurations still work. However, check which fields the selected core supports. Client-specific fields, external file paths, and newer protocol options especially need verification. Even if the import reports no errors, check that rules and DNS behave as expected.

If I only use the system proxy, do I need a client with TUN support?

No. If your apps follow the system proxy, the standard proxy setting may be all you need. TUN is worth considering for apps that ignore proxy settings, some UDP use cases, or broader traffic routing. Enabling TUN doesn't mean every connection goes through a proxy; the selected mode and rules still determine the outbound route.

Can I keep using a client that's no longer maintained?

An existing setup may still work, but that doesn't mean it will receive updates for system compatibility, protocol support, or bug fixes. Keep a configuration backup and plan a migration. If you're reinstalling or moving to a new device, verify an actively maintained alternative first rather than sticking with an archived build just because its interface is familiar.