CLIENT SELECTION / CLIENT COMPARISON

Clash Client Comparison and Platform Guide

For everyday use, start with Clash Plus. Desktop users who need more control over mihomo configs can compare Clash Verge Rev and FlClash. Check your device and config format first, then compare interfaces and advanced settings.

This page compares workflows, not scores. Platform availability reflects the packages offered on this site, not every platform a project supports.

Recommendations: Start with the platform, then check the core

Top pick

Clash Plus: Everyday use and multiple devices

If you don’t already have a preferred client, start with Clash Plus. This site provides download options for Windows, macOS, Android, and iOS. It’s a good fit if you mainly need to import a config, choose a proxy, and connect. Using the same client across platforms doesn’t guarantee identical features: check config formats, system permissions, and feature availability for each one.

See Clash Plus and downloads by platform →

Managing mihomo configs: Choose based on how much control you need

For frequent desktop changes to overrides, proxy groups, and TUN settings, compare Clash Verge Rev. If you want a similar workflow on desktop and Android, consider FlClash. Android users who need per-app access controls can look at Clash Meta for Android. Linux users can start by comparing Clash Verge Rev and FlClash.

Explore YAML fields and core features →

Platform, core, and maintenance comparison

Meta and mihomo are related through the projects’ history, but config compatibility depends on the actual core build. Maintenance status is a general guide, not a guarantee that every feature works on your current system. On narrow screens, scroll horizontally to see the full table.

A comparison of the eight clients available on this site
Client Platforms offered here Core and config format Maintenance Ease of use Key features and best for
Clash Plus Windows、macOS、Android、iOS Check each client’s platform documentation; no single core is assumed Actively maintained Easy; import a config and grant permissions Available on multiple platforms; good for beginners, everyday use, and multiple devices
Clash Verge Rev Windows、macOS、Linux mihomo; Clash YAML and core-specific extension fields Actively maintained Intermediate; advanced features require an understanding of proxies and routing Config overrides, proxy group management, and TUN; suited to advanced desktop users
FlClash Windows、macOS、Linux、Android mihomo; Clash YAML and core-specific extension fields Actively maintained Easy to intermediate; system settings vary by platform Consistent interface and proxy selection across platforms; good for desktop and mobile setups
Clash Nyanpasu Windows Supports core options including mihomo; check the actual build Actively maintained Intermediate; requires distinguishing client settings from core settings Graphical config management; suited to users who want desktop controls and core options
Clash for Windows Windows; archived package Legacy original Clash / Premium ecosystem; not equivalent to mihomo No longer maintained Familiar to existing users; more complex to make compatible with new setups Recreates legacy UI and config workflows; useful as a migration reference
Clash Meta for Android Android Meta / mihomo family; Clash YAML Actively maintained Intermediate; requires handling VPN permissions and background restrictions Config management, per-app access controls, and logs; suited to Android users who manage their own configs
Surfboard Android Proprietary config format with partial Surge-style syntax support; not Clash YAML Actively maintained Depends on the config source; format conversion adds complexity For Android users with a compatible config who know its rule syntax
ClashX Meta macOS; archived package Meta-family core; features are limited by the archived core version No longer maintained Basic menu actions are easy; check compatibility with newer systems separately Menu bar access; useful for existing macOS setups and migration reference

Eight client reviews

Each review covers what the client is suited for and what to watch out for. Ease of use describes the setup and connection process, not performance.

Clash Plus: A good first client

Clash Plus is this site’s top pick for everyday users. It provides a single place to find clients for multiple operating systems, so you don’t need to understand every core variant before getting started. First, check that your subscription or config provider supports the client on your platform. Then import the config, choose a proxy, and grant any required system permissions. iOS users can find the App Store link on the downloads page. Product details are available at clashplus.io. If you need a specific protocol, complex rule set, or mihomo extension field, check the platform’s feature documentation rather than assuming compatibility from the product name.

Clash Verge Rev: Desktop config and override management

Clash Verge Rev is a good fit for desktop users who treat their client as a config workspace. mihomo parses the config, matches rules, and establishes connections; the graphical interface handles subscriptions, proxy selection, logs, and system integration. Config overrides let you keep local preferences, such as DNS and ports, separate from a remote subscription and avoid reapplying them after updates. Note that system proxy, service mode, and TUN are separate settings. Enabling one doesn’t automatically route traffic from every app. When troubleshooting, check the active config and connection logs before changing permissions or routes.

Windows download · macOS download · Linux download

FlClash: A similar workflow on desktop and Android

FlClash is suited to people who use both a computer and an Android device and want a familiar interface on each. It’s built on mihomo, so proxy groups and rules share the same core concepts. However, a similar interface doesn’t mean identical system behavior: desktop traffic may use the system proxy or TUN, while Android involves VPN permissions, per-app access, and background restrictions. When moving configs between devices, keep a shared set of base rules and handle device-specific settings separately. Don’t copy network interface names, file paths, or controller addresses from one device to another; even valid syntax may not work on the new device.

Clash Nyanpasu: Desktop controls and core options

Clash Nyanpasu is another option for managing configs on desktop. This site offers a Windows package. Before migrating an existing config, check which core options are included in the build. UI settings and YAML fields are separate layers: changing the theme, window, or tray behavior won’t affect rule matching, while switching cores may change protocol and field support. It’s best for users who are comfortable reading logs and understanding where their configs come from. If your config relies on mihomo extension fields, use a compatible core and check what loads after migration. Don’t change both the core and the entire config just to try a different interface.

Clash for Windows: Legacy setups and migration reference

Clash for Windows is no longer maintained. This site keeps an archived download for reference with older setups. Its legacy workflows can still help explain system proxies, config files, and proxy selection, but original Clash and Premium features shouldn’t be treated as a complete list of fields supported by current mihomo. New protocols, system behavior, and changing client dependencies may exceed what archived software can handle. Before migrating, back up your subscription URL, config files, and manual proxy selections, then create a fresh config in a maintained client. Don’t overwrite the old directory or copy all app caches. Verify a basic connection first, then restore overrides and automation settings.

Clash Meta for Android: Mobile configs and app controls

Clash Meta for Android, often called CMFA, is suited to users who want to manage Clash configs directly on Android. Along with importing a subscription, check VPN permissions, per-app access controls, and battery settings. If an app bypasses the proxy, it may be due to the selected rule or because the app is excluded from the VPN. If the connection drops when the screen is off, check background restrictions and runtime logs. Choose an APK that matches your device’s ABI; a newer Android version doesn’t mean every architecture package will install. For the first test, use rule mode and verify one app, then add per-app routing and more complex DNS settings.

Surfboard: Check the config format before choosing it

Surfboard appears in the same Android downloads section as other proxy clients, but it isn’t another Clash front end. It has its own config format and supports some Surge-style syntax. Don’t assume that Clash YAML proxy groups, rule providers, or DNS fields can be imported directly. Users with compatible configs can include it in their comparison; if you’re new and only have a Clash subscription, first check whether your provider offers a Surfboard-compatible format. Conversion tools can’t guarantee equivalent protocols, rules, or DNS behavior. Don’t submit configs containing private proxy credentials to unfamiliar online converters; use a compatible option from your config provider when possible.

ClashX Meta: Archived macOS menu bar client

ClashX Meta is no longer maintained. It’s useful for reference if you already use a macOS menu bar workflow, but isn’t recommended as the default for a new device. A Meta-family core doesn’t mean an archived package includes every protocol and config field supported by current mihomo; compatibility depends on the core included in the package. When switching to Clash Plus, Clash Verge Rev, or FlClash, recheck system proxy settings, launch at login, and helper services to prevent the old client from changing proxy settings in the background. After confirming the new client works, disable the old client’s auto-launch and remove system integrations you no longer need. Keep a config backup for reference.

Narrow down your options by use case

Compatibility checks before migrating configs

Similar client names don’t guarantee the same config format, core features, or traffic routing. During migration, change one thing at a time: import the base config into the new client, confirm that it recognizes your proxies and rules, restore local overrides, then adjust TUN, DNS, and per-app access controls. This makes it easier to identify which change caused a problem.

  1. Check the config source. Tell full YAML apart from a single proxy link or another subscription format. If import fails, check the parsing error before deleting all your rules.
  2. Check core support. Original Clash, Premium, and Meta/mihomo are not fully interchangeable. For an unknown field or protocol error, check what the actual core supports instead of repeatedly reinstalling the interface.
  3. Record local changes. Save overrides, ports, DNS settings, and manually selected proxies. A subscription update may overwrite edits made directly to the config, so keep local preferences in the override layer when supported.
  4. Stop the old client from taking control. Don’t let old and new clients both change system proxy settings or install conflicting traffic-routing components. After closing the old client, check that the system proxy isn’t still pointing to a port that’s no longer listening.
  5. Verify the actual connection. Check connection logs, matched rules, and exit IP details. A proxy latency test only reflects a specific test request; it doesn’t replace testing the app you actually want to use.
Why do clients behave differently even when they use mihomo?

Clients may use different core builds or merge subscriptions, apply overrides, and handle defaults differently. System proxy settings, permissions, services, and DNS can also affect the result. Compare the active config and logs, not just the YAML before import.

Do I need to move every setting from my old client?

No. Migrate a working subscription and the rules you need, then restore local settings one at a time. Check old caches, paths, and network interface settings separately; copying the entire directory may bring old problems into the new setup.

Where should I go after choosing a client?

Choose a package for your platform on the downloads page. For your first connection, follow the user guide. To check proxy groups, rules, and DNS fields, see the YAML manual.