Choosing a Client

Clash Client Comparison

Choose by platform first, then check config compatibility. Clash Plus is our top pick for new installs. For desktop overrides and TUN management, compare Clash Verge Rev. If you already have a Clash config on Android, take a closer look at CMFA and FlClash.

Clash Picks is a resource for choosing and configuring clients. The products below are maintained by their respective projects. The app interface, proxy core, and proxy service are separate layers: installing a client does not provide proxy nodes, you’ll need your own subscription, and connection quality can’t be judged by the client’s name alone.

Compare platforms, cores, and maintenance status

Platforms listed here reflect the installers available on our downloads page, not every platform a project has ever supported. Maintenance status is a general guide, not a promise of update frequency; check project announcements before downloading. Similar core names don’t guarantee that every config field works across clients.

On narrow screens, swipe horizontally within the table. Find your device platform first, then scroll across to compare configuration and features.

Compare clients available to download from this site
Client Platforms available here Core and config format Maintenance Learning curve Key features and limitations Best for
Clash Plus · Top pick Windows、macOS、Android、iOS Supports proxy subscriptions and configs; check platform-specific notes for core and field support Actively maintained Easy: import a subscription, then choose how to connect Desktop and mobile support; network permissions vary by platform Beginners, everyday use, and multi-device setups
Clash Verge Rev Windows、macOS、Linux mihomo;Clash YAML Actively maintained Easy to moderate: advanced settings require an understanding of overrides and permissions Desktop TUN, subscriptions, and configuration overrides Desktop power users and CFW users migrating
FlClash Windows、macOS、Linux、Android mihomo;Clash YAML Actively maintained Easy to moderate: straightforward interface; configure network routing for each platform Similar configuration workflow on desktop and Android Users who pair Android devices with a computer
Clash Nyanpasu Windows Supports managing multiple cores; features vary by selected core and build, including the original, Meta, and mihomo Actively maintained Moderate: distinguish between interface settings and core options Desktop configuration management and core selection Desktop users comfortable managing their configs
Clash for Windows(CFW) Windows Original Clash lineage; older installs may use a manually replaced core No longer maintained Familiar to existing users; newcomers should watch for outdated guides and changed steps For reference on legacy configs and scripting workflows; archived Existing users checking configs before migrating
Clash Meta for Android(CMFA) Android Clash Meta / mihomo lineage; Clash YAML Actively maintained Easy to moderate: requires VPN permission and attention to background restrictions Android VPN routing, config imports, and proxy group selection Android users with existing Clash configs
Surfboard Android Its own implementation; Surge-style config, not a Clash core Actively maintained Moderate: config format differs from Clash Android rule-based proxy client for compatible configs Users with existing Surfboard-compatible configs
ClashX Meta macOS Clash Meta lineage; Clash YAML No longer maintained Basic use is easy; check migration requirements and compatibility with newer macOS versions separately Menu bar controls and reference for older macOS configs Users organizing legacy configs before migrating

The core determines config syntax; the client determines how you use it

Original Clash, Clash Meta, and mihomo are related, but they are not interchangeable product names. mihomo continues the Meta lineage, adding or changing DNS, rule, and protocol capabilities that require support in the core included with your build. The client handles tasks such as importing subscriptions, displaying proxy groups, and managing the system proxy. It cannot enable config fields the core does not support.

When troubleshooting, note the client name and the core actually in use, then consult the relevant documentation. Multi-core clients and older installations may run different cores despite having the same client name. Check each Clash Plus platform’s documentation separately, too; similar interfaces don’t guarantee identical config compatibility.

Eight Clash clients reviewed

Clash Plus: Best for everyday use and multiple devices

Top pick Start by importing your subscription, choosing a proxy group, and confirming the connection. Tackle advanced configuration later. Clash Plus is a strong first choice for new users, with downloads for Windows, macOS, Android, and iOS on this site. Using the same client across devices can make the interface easier to learn, but configs and permissions won’t sync automatically.

On desktop, know the difference between the system proxy and TUN. On mobile, understand Android’s system VPN permission. Before buying a device, migrating a config, or using advanced fields, check support for your target platform. For iOS, use the App Store link on the downloads page. The project’s website is clashplus.io.

Clash Verge Rev: Desktop overrides and TUN management

Consider Clash Verge Rev if you need to organize subscriptions, keep local rules, and manage TUN on desktop. It uses the mihomo core, making it a good fit if you’re learning from modern Clash configuration guides. Downloads are available here for Windows, macOS, and Linux. It’s also worth comparing if you’re migrating from CFW.

Advanced features don’t mean you need to enable every option. Start with rule mode and the system proxy, confirm that the connection works, then enable TUN if a specific app requires it. Put custom rules in the client’s supported override mechanism instead of editing subscription files that may be overwritten on update. Troubleshoot service permissions, virtual adapters, and routing based on your operating system.

FlClash: A similar workflow on desktop and Android

If you use a computer alongside an Android phone, FlClash is worth considering. It uses mihomo, with downloads for Windows, macOS, Linux, and Android on this site. If you already have a Clash YAML subscription, you can build a similar workflow around importing configs and choosing proxy groups, rather than learning a completely different setup on each device.

A cross-platform interface doesn’t mean the network routing works the same way everywhere. Android relies on the system VPN, while desktop uses the system proxy or TUN. Configure background operation, startup, and permissions separately for each platform. Focus on whether subscription editing, logs, and background behavior meet your needs on the target device, not just on how the interface looks.

Clash Nyanpasu: Config management and core selection

Clash Nyanpasu suits desktop users who are comfortable distinguishing between the client and its core. This site provides a Windows download; check the project’s own documentation for other release platforms. It supports managing multiple cores. Before use, confirm which core lineage is selected, then check whether the config’s rules, DNS, and protocol fields are supported.

Another core option means another variable to troubleshoot. If you’re new to the client, stick with one core and first verify the subscription and system proxy. Don’t switch several settings at once when something fails. Don’t copy scripts, overrides, or paths from an older client without checking them. Keep a copy of the original files and rebuild each item using the new client’s config management tools to make future troubleshooting easier.

Clash for Windows: Archived reference, not recommended for new installs

No longer maintained CFW is mainly useful for checking legacy configs and migration workflows. Many online guides still cover it, but old screenshots, button names, and service setup steps may not apply to current operating systems or other clients. Don’t choose an archived app as the default for a new device just because it has plenty of tutorials.

Before migrating, export your subscription source, custom rules, proxy group preferences, and scripts. If you replaced the core yourself, don’t assume compatibility based on the CFW name alone. Load the config with the new core and check for errors and rule matches. Copying the entire old app folder does not complete a migration.

Clash Meta for Android: For Android users with existing Clash configs

CMFA is a common abbreviation for Clash Meta for Android; don’t confuse it with the original Clash for Android. It’s suited to users with a Clash YAML config who want Android’s system VPN to route traffic. After importing, select the config, grant VPN permission, and choose a proxy group. Having a subscription in the list without activating a config may not give you the connection you expect.

Common Android issues often come from background restrictions. If the connection drops when the screen turns off or takes a while to recover after switching networks, check battery optimization, background permissions, and logs before changing proxies. If another VPN app is already installed, be aware that VPN apps may compete for the same system tunnel. Check the installer notes and runtime information for the core’s actual capabilities.

Surfboard: Check the config format before installing

Surfboard is listed among the Android downloads on this site, but it isn’t a Clash GUI frontend and doesn’t use a Clash core. It uses a Surge-style config structure and supports only the corresponding syntax and features. If you only have a Clash YAML subscription, don’t import the link into Surfboard and mistake a parsing error for a network problem.

Surfboard may suit users who already have compatible configs. If you need to convert one, check proxy protocols, rules, DNS, and proxy group syntax individually. A converted file loading successfully doesn’t guarantee identical behavior. For beginners, choosing a client that matches your existing subscription format is usually more straightforward than learning config conversion first.

ClashX Meta: Legacy macOS configs and menu bar workflow

No longer maintained ClashX Meta may be useful for reviewing existing macOS configs and menu bar workflows, but it’s not recommended for new systems. It’s also distinct from the original ClashX lineage: similar names don’t mean the same config support or maintenance status. This site keeps an archived download for reference on older setups.

Before migrating, note your current proxy ports, config file locations, and rules, then compare the macOS builds of Clash Plus, Clash Verge Rev, and FlClash. Menu bar controls work differently from a full config management interface. If you need advanced overrides, TUN, or detailed logs, list those requirements before choosing; matching the old interface matters less.

Choose a client for your use case

Servers and routers: Consider the Mihomo core, not a desktop client

The downloads page also has a Mihomo core build for users who want to manage the process, config, permissions, and network routing themselves. It doesn’t include the full desktop interface covered here. Most desktop users should choose a GUI client. Server and router users should check CPU architecture, package format, and service management; any external control panel also needs separate setup and access protection.

Migration checklist before switching clients

Importing a subscription is only the first step. A migration should preserve how your network behaves, not just make proxy groups appear in the new interface. Back up your config, then launch the new client on its own. Don’t let the old client manage the system proxy or TUN at the same time, or port conflicts and routing contention may look like incompatibility with the new app.

  1. Record your subscription and local changes. Keep the provider’s subscription file separate from client overrides and rules you added manually. Updates may replace the subscription contents, so save local changes separately. Never share subscription links in public screenshots or logs.
  2. Check the config format and core capabilities. Clash YAML and Surfboard use different config formats. When moving from the original core to mihomo, check legacy scripts and fields that may have changed; the file extension alone doesn’t tell you whether a config is compatible.
  3. Match your proxy ports. Note the mixed port and any proxy addresses entered manually in apps. If the new client uses different ports, update proxy settings in browser extensions, terminal environment variables, and developer tools.
  4. Select your proxy groups again. If group names or member order changed, your previous selections may not carry over. Test the connection with an explicit choice first, then try automatic selection. A successful latency test doesn’t mean every service will work.
  5. Verify traffic routing step by step. Test a browser first, then apps that don’t follow the system proxy, and enable TUN only if needed. Check DNS and rule matches before setting the client to launch at startup, so a bad config doesn’t load automatically.

If you hit a YAML parsing error during migration, check the indentation and fields near the reported line before switching clients. For a connection timeout, check DNS, proxy groups, and the proxy service separately. Change one thing at a time to identify whether the cause is config compatibility, permissions, or the network path.

Clash official websites and download sources

The Clash ecosystem includes cores, third-party clients, and independent projects; there’s no single official client website representing them all. When searching for a “Clash official website,” first decide whether you’re looking for Clash Plus, Clash Verge Rev, FlClash, or the mihomo core, then verify the project and its installation instructions. This site organizes download links and Chinese configuration guides; it does not replace project release announcements.

The Clash Plus website is clashplus.io. For other clients, refer to the release information from the respective project. Check the project name, maintenance status, system requirements, and architecture on the page. An archived installer still being available doesn’t mean the project is maintained again or that it works well on a new system.

Don’t trust “latest” in a filename as proof of a legitimate download. Choose your platform on the client downloads page, confirm the installer architecture, then follow the setup guide. macOS packages for Apple Silicon and Intel, Android packages for ARM architectures, and Linux deb and rpm packages serve different systems. Choosing the wrong package usually can’t be fixed by editing YAML.

How to choose: in order

Platform compatibility → subscription format → maintenance status → required features → workflow. For new installs, start with Clash Plus; for Linux or advanced desktop needs, compare Clash Verge Rev and FlClash. Android users with specific existing configs should check the format limitations of CMFA and Surfboard. Keep CFW and ClashX Meta as archived references, and plan your migration before adding more complex configuration.