Selection Guide

Clash Clients
Compared

Start with your operating system and config format, then compare traffic routing and maintenance status. The core determines rule and protocol support; the client determines how you import configs, grant permissions, and manage everyday use.

Platforms, Cores, and Maintenance

Platform availability reflects the download links on this site, not the full history of each project's platform support. Ease of use describes the steps involved in importing a config, connecting, and granting permissions—not performance.

On narrow screens, scroll horizontally to compare the table. Config support also depends on the core, client build, and system permissions.

How the Eight Clients Compare
Client Platforms on This Site Core Maintenance Ease of Use Key Features Best For
Clash Plus Windows、macOS、Android、iOS Platform-specific; see the relevant guide Actively maintained Easy: import a subscription and choose a proxy group Multi-platform downloads, subscription management, and everyday connections Beginners and multi-device users; our top pick
Clash Verge Rev Windows、macOS、Linux mihomo (formerly the Clash.Meta line) Actively maintained Easy for basic connections; overrides and TUN require some setup Service mode, TUN, configuration overrides Users who need fine-grained desktop proxy settings
FlClash Windows、macOS、Android、Linux mihomo Actively maintained Easy to use, but permissions must be granted on each system Consistent cross-platform interface, proxy groups, and connection management Users on both desktop and Android
Clash Nyanpasu Windows Core management; Clash/Meta features depend on the selected core Actively maintained Moderate: understand how the core handles configs Core switching, config processing, interface customization Advanced users comparing behavior across different cores
Clash for Windows Windows; archived Legacy Clash/Clash Premium; not mihomo No longer maintained Many older guides available; compatibility with newer rules may need troubleshooting Reference for legacy configs and older workflows Users who need to temporarily recreate a legacy setup
Clash Meta for Android Android Meta/mihomo Actively maintained Moderate: VPN permissions and background operation require setup Android VPN routing, logs, and rule inspection Android users familiar with Clash configs
Surfboard Android Independent implementation; not a Clash core Actively maintained Easy with a compatible config; syntax migration takes some learning Surge-style configs, Android VPN routing Android users with compatible configs and rules
ClashX Meta macOS; archived Meta; the archived core is not the current mihomo No longer maintained Easy menu bar controls; compatibility with newer systems may need checking Menu bar controls and a reference for legacy Meta configs Users migrating an older macOS setup

Eight Clash Clients Reviewed

First check which config format you have, then decide whether you need TUN, configuration overrides, or core switching. These reviews explain what each client can and cannot do; they do not rank speed, memory use, or stability without testing under the same conditions.

Clash Plus: A Strong First Choice for New Devices

Clash Plus is our top pick, with downloads for Windows, macOS, Android, and iOS. If you're new to subscriptions, start by importing one, choosing a proxy group, and testing the connection. Adjust DNS or routing modes only after that, so it's easier to identify issues.

If you use multiple devices, consider the same client family across supported platforms—but don't assume the settings are identical. iOS handles traffic differently from desktop systems, so check each platform's guide for config formats, protocol support, and permissions. Visit the official site at clashplus.io; download links are all on our downloads page.

See Clash Plus downloads by platform →

Clash Verge Rev: Desktop Config Management

Clash Verge Rev uses mihomo and suits users who want to manage subscriptions, proxy groups, and local configs on desktop. Start with the system proxy for basic use. Consider service mode or TUN only if an app doesn't follow the system proxy—there's no need to enable every routing feature right away.

Config overrides let you keep local rules and DNS changes, but you need to understand how the original subscription, override logic, and final active config relate. If traffic routing changes after a subscription update, inspect the generated config and logs—not just one section in the editor. Linux users should also check that the package matches their distribution.

See desktop and Linux downloads →

FlClash: A Consistent Workflow Across Desktop and Android

FlClash uses mihomo, with downloads for Windows, macOS, Android, and Linux. If you regularly switch between a computer and an Android phone, its similar interface makes config lists, proxy groups, and connection status easier to find across devices.

A familiar interface doesn't mean permissions work the same way. Desktop may require a service or virtual network adapter; Android needs VPN permission and suitable battery settings. When migrating, check how each device stores local configs, updates subscriptions, and keeps the app running in the background. A successful import alone doesn't prove traffic is routed correctly.

See Android client downloads →

Clash Nyanpasu: Core and Config Management

Clash Nyanpasu suits users who want to understand how the client and core work together. It provides core management and config processing tools for comparing core behavior. Check support for each field against the selected core instead of assuming that an option's label tells the whole story.

When switching cores often, keep a minimal working config and test one change at a time. A rule accepted by one core may not parse the same way in another. This site provides a Windows installer. Before choosing this client, check the order in which configs are processed to avoid unexpected results from layered overrides.

See Windows client downloads →

Clash for Windows: Archive and Migration Reference

No longer maintained

Clash for Windows still appears in many older guides, and its interface labels and legacy service workflow can be useful for reference. That doesn't make it a good default for a new PC. Archived clients don't keep up with new protocols, rule fields, or system compatibility issues. A legacy config that still starts may not be suitable for long-term use.

Its legacy Clash/Clash Premium core differs from mihomo. When migrating, transfer your subscription source and any essential local rules instead of copying the entire data directory into a new client. Check scripts and client-specific fields from older guides one by one. If the config fails to parse, remove incompatible entries and rebuild equivalent rules using the new core's documentation.

See the Windows setup and config guide →

Clash Meta for Android: Troubleshooting Rules and Logs

Clash Meta for Android, often shortened to CMFA, follows the Meta/mihomo core line. It suits users who already know Clash configs and want to inspect rules and logs on Android. Connecting requires Android VPN permission. If you already use another app that routes traffic through the VPN interface, check whether it competes for the same connection first.

A connection dropping when your phone locks isn't always a node issue. Background restrictions, battery optimization, and how Android handles network changes can all affect connectivity. First test in the foreground with the default config, then try locking the screen and switching between Wi-Fi and mobile data. Choose ARM64, ARM, or universal builds to match your device—not just the largest download.

See CMFA downloads and architecture options →

Surfboard: Check the Config Syntax First

Surfboard is an Android proxy client with its own implementation and Surge-style config syntax—not just another interface for mihomo. It may suit users who already have compatible configs. If you only have a Clash YAML subscription, first check whether your provider supports a compatible format.

Changing a config file's extension won't convert it, and subscription conversion may not preserve every rule or protocol setting. After converting, check node types, proxy groups, rule order, and DNS behavior; unsupported fields may need changes. If you just want to use an existing Clash config, choose a client that supports its format directly to make troubleshooting easier.

See Surfboard downloads →

ClashX Meta: Migrating a Legacy macOS Setup

No longer maintained

ClashX Meta uses a menu bar interface and can help you reference proxy group selection and system proxy settings from an older macOS setup. It follows the Meta core line, but an archived package doesn't automatically gain current mihomo features—or guarantee support for newer systems and protocols.

For a new device, start with an actively maintained client. Before migrating an existing setup, note your subscription, proxy ports, and local rules. Quit the old client and turn off its system proxy before launching the new one. Choose the right installer for Apple Silicon or Intel. If your older system doesn't meet a new client's requirements, check the project's requirements rather than relying on an archived build as a general compatibility fix.

See macOS client downloads →

Choose by Use Case

Start with platform and config compatibility, then choose the interface you prefer. These recommendations are a starting point, not a substitute for testing on your own setup.

What to Check Before Switching Clients

  1. Save your config sources. Note your subscription URL, update method, and any manually added rules. Subscription URLs may contain access credentials; don't share them in public screenshots, logs, or online conversion tools.
  2. Check the syntax and core. Know whether you're using Clash YAML, Surge-style config, or legacy client-specific fields. Successfully importing a file only confirms the import step worked; check that rules, proxy groups, and DNS were recognized correctly.
  3. Turn off the old traffic routing. Quit the old client and check the system proxy, background services, and VPN connections. Avoid having two clients compete for the same port or default route. Then start the new client with a minimal config.
  4. Restore local settings one at a time. Verify the basic connection first, then restore custom rules, TUN, and DNS settings. Don't copy the entire old directory: local paths, service states, and permissions usually can't be reused directly across clients.
  5. Test with the apps you actually use. Check websites, apps that need a proxy, direct connections, and network switching. A node latency test reflects only that specific test; it doesn't replace checks for bandwidth, connection stability, or which rules are actually matched.

If you're unsure what the system proxy and TUN will route, read the TUN mode guide first. For complete platform-specific steps, see the cross-platform setup guide. Don't copy settings from another client just to match the names of its toggles.

Our Pick: Clash Plus

For beginners and everyday use across Windows, macOS, Android, and iOS, start with Clash Plus. Linux users can compare Clash Verge Rev and FlClash. Choose Clash Nyanpasu if you need specific core management features; Android users with existing Surge-style configs can consider Surfboard.

Keep Clash for Windows and ClashX Meta as archived references, not default picks for new devices. Once you've chosen a client, select the right platform and architecture on the downloads page—there's no need to install every option to compare them.

Choose a client by platform on the downloads page →