CLIENT SELECTION / PLATFORM · CORE · CONFIGURATION

Clash Client Comparison

Check your operating system and configuration format first, then compare interfaces. The same subscription URL may not work in every client as-is.

01 / DECISION

Choose a platform first; configuration compatibility comes next

For a first setup, Clash Plus is our top pick. Choose your operating system on the download page, then follow the getting-started guide to import a configuration and test the connection. Clash Plus is available for Windows, macOS, Android, and iOS, but the same product name does not mean every platform has identical cores, permissions, or settings. After choosing a download, check which protocols and subscription formats your platform supports.

Ubuntu users have different options: this site’s Linux desktop downloads focus on Clash Verge Rev and FlClash. For desktop configuration management and more granular network settings, start with Clash Verge Rev. If you want a similar workflow on desktop and Android, compare FlClash. For servers and routers, look at deploying the mihomo core directly; there’s no need to install a desktop environment just to run a proxy.

Bottom line: Clash Plus is our pick for new users; Ubuntu desktop users should compare Clash Verge Rev and FlClash first. Once you’ve chosen a client, visit the download page to check the architecture and installation method. Avoid repeatedly importing into different apps or running multiple proxies at once.

02 / CAPABILITIES

Eight-client feature comparison

Platform availability here refers to this site’s download links, not every platform a project has ever supported. Maintenance labels are general guidance, not a promise about update frequency; check release notes before installing. On narrow screens, swipe horizontally to view the table.

Compare platforms, cores, maintenance, learning curve, standout features, and recommended users
Client Downloads on this site Core and format Maintenance Learning curve Standout features and best for
Clash Plus Windows、macOS、Android、iOS Check release notes for each platform; don’t assume every build uses mihomo Actively maintained Low: start with the visual import flow Cross-platform option; a good first choice for new users and people using multiple devices
Clash Verge Rev Windows、macOS、Linux mihomo; Clash YAML configuration Actively maintained Easy to start; advanced settings require networking knowledge Configuration management, rules, and TUN; desktop and Ubuntu users
FlClash Windows、macOS、Linux、Android mihomo; Clash YAML configuration Actively maintained Low to moderate Similar workflows on desktop and mobile; people using multiple devices
Clash Nyanpasu Windows Supports core management; features vary by selected core Actively maintained Moderate: distinguish the interface from the core Configuration organization and core selection; desktop users who like to fine-tune their workflow
Clash for Windows Windows archive Original Clash family; Meta extensions are not guaranteed No longer maintained Familiar to existing users; not recommended as a first choice for new users Checking legacy configurations and planning migrations
Clash Meta for Android Android Clash Meta/mihomo family; Clash YAML configuration Actively maintained Moderate: understand VPN access and background permissions Configurations, rules, and per-app routing; advanced Android users
Surfboard Android Proprietary implementation; Surge-style configuration, not a Clash core Actively maintained Depends on whether you already have a compatible configuration Surge-style workflow; Android users with compatible configurations
ClashX Meta macOS archive Clash Meta-family core; capabilities limited by the archived core No longer maintained Easy to start; check configurations when migrating Menu bar controls; maintaining or migrating an existing setup

How to read the table: “Low” describes the effort needed to complete basic tasks, not performance. TUN, DNS, rule overrides, and permission management require separate learning. Core support for a field does not mean the client interface provides a control for it.

03 / CLIENT NOTES

Client-by-client reviews

The reviews below focus on configuration workflows. Protocol support depends on the core bundled with or enabled in a client, so don’t judge by the app name alone. System integration can also vary between platforms for the same client.

Clash Plus: best for getting started

Top pickVisual setup

Clash Plus is a strong first choice for new users, especially if you use both a computer and a phone and want to get connected before learning every configuration detail. Choose it if there’s a download for your device and its workflow—import a configuration, select a policy, and connect—fits your needs. Don’t assume every platform works exactly the same way.

Before importing, check which client the configuration provider recommends. If the configuration uses extensions specific to a particular core, confirm that your platform accepts those fields. iOS users can follow the download page link to the App Store. The product website is clashplus.io. Ubuntu users should compare the Linux desktop options below.

See Clash Plus downloads by platform →

Clash Verge Rev: Ubuntu and desktop configuration management

Clash Verge Rev combines the mihomo core with a desktop interface. It suits users who manage multiple configurations, inspect rule behavior, or choose between the system proxy and TUN. You don’t need to write a complete YAML file to get started, but rule overrides and DNS changes require you to distinguish the original subscription, the client’s processed configuration, and what the core actually loads.

Before installing on Ubuntu, check the package format, processor architecture, and system dependencies. A working app window doesn’t mean TUN permissions are ready. Test your configuration with the system proxy first, then set up service permissions and routing as needed. After updating a configuration, check whether local changes were overwritten; keep important rules in a persistent override mechanism supported by the client.

See Linux installation options →

FlClash: a similar workflow on desktop and Android

FlClash uses mihomo, with downloads on this site for Windows, macOS, Linux, and Android. It’s worth comparing with Clash Plus and Clash Verge Rev if you want a similar workflow across several operating systems. “Similar” refers to interface layout and configuration concepts—not automatic configuration syncing between devices.

When migrating, start with the same compatible configuration on each device, then handle system permissions separately. On Android, check VPN authorization, background activity, and battery restrictions. On Linux, check package dependencies and permissions for taking over network traffic. Don’t copy a configuration with computer-specific paths, network interface names, or listen addresses straight to a phone; review ports and device-specific fields individually.

See Android client options →

Clash Nyanpasu: cores and configuration workflows

Clash Nyanpasu suits users who understand how subscriptions, policy groups, and rules work and want more control over their desktop configuration workflow. Evaluate the interface separately from the core in use: the interface manages configurations and system integration, while the core handles protocol parsing, rule fields, and connections.

This site provides a Windows download. After choosing or switching cores, test that your configuration still loads. A YAML section accepted by one core may not work with another. If a field is unsupported, check the core and configuration source before editing anything. Changing the core, DNS, and rules all at once also makes problems harder to diagnose.

Compare Windows installation options →

Clash for Windows: reference for archives and migrations

No longer maintained

Clash for Windows, often abbreviated to CFW, appears in screenshots from many older guides covering configuration imports, system proxy settings, and mode switching. Familiarity with its interface can help when following legacy documentation, but search-result popularity is no reason to choose archived software for a new setup. Its original Clash-family configuration support is not equivalent to the extended capabilities of today’s mihomo.

Before migrating, save the original subscription URL, existing configuration, and local rules. Also note the ports, LAN access settings, and policy group selections. Import the original configuration into the new client first, then restore local changes after confirming it works. Don’t copy the entire old installation folder, and don’t run two system proxies at the same time. This site keeps an archived download for checking existing setups.

See maintained clients and archived downloads →

Clash Meta for Android: rules and per-app routing

Clash Meta for Android, often abbreviated to CMFA, is for Android users who want to manage configurations in the Clash Meta/mihomo family directly. It suits users who need to understand rule matching, configuration switching, and per-app routing. Choose the APK for your processor architecture; desktop installation formats and service management don’t apply to phones.

A phone showing “connected” doesn’t mean every app is using the proxy as expected. VPN authorization, app exclusions, background restrictions, and conflicts with other VPNs can all affect traffic. For your first setup, keep the default traffic scope, confirm that one app works, then configure per-app routing. If the connection drops after the phone sleeps, check battery management before replacing the entire subscription.

See CMFA and other Android options →

Surfboard: Surge-style configuration

Surfboard appears in the same download list because it’s used for Android proxy configuration—not because it belongs to the Clash core family. It uses a Surge-style configuration format. If you already have a compatible configuration and know the syntax, check whether it supports the protocols and rules you need.

If you only have Clash YAML, don’t just change the file extension and try to import it. Conversion involves node types, policy group semantics, and rule formats, and some features may not have a direct equivalent. A successful conversion only means the output file can be read; you still need to check policy selection, domain rules, and DNS behavior. For a first setup, choosing a client that clearly matches your configuration source is usually easier.

See the Surfboard download →

ClashX Meta: archived macOS menu bar client

No longer maintained

ClashX Meta retains the familiar macOS menu bar workflow and can help when reviewing existing setups or older guides. It uses a core from the Clash Meta family, but the archived version has limitations. The word Meta in its name doesn’t mean it supports every protocol and configuration field added in later mihomo releases.

For a new installation, compare macOS clients that are still maintained. When migrating, check the differences between Apple Silicon and Intel downloads, and whether the old app still launches at login or leaves behind a system proxy or background service. Quit the old client before enabling the new one to avoid a confusing state where the menu bar shows a switch but the system proxy still points to the old port.

See current macOS installation options →

04 / SCENARIOS

Narrow down by use case

New to proxy clients: Start with Clash Plus and an import format explicitly supported by your configuration provider. For your first setup, only import the configuration, select a policy, and test the connection—leave DNS, rules, and TUN alone for now. On Ubuntu, start with the Linux download for Clash Verge Rev or FlClash and follow the getting-started guide step by step.

Advanced Config: Desktop users can compare Clash Verge Rev, FlClash, and Clash Nyanpasu; Android users can look at CMFA. List the protocols, rule types, and override methods you need, then check the actual core. To understand the differences between original Clash, Meta, and mihomo, see the protocol and core reference. Don’t choose based on interface screenshots alone.

Multiple devices: Start with the Clash Plus downloads for your platforms. Consider FlClash if you need Linux or want a similar workflow on desktop and Android. Sharing a subscription doesn’t sync every setting: system proxy, VPN permissions, file paths, and launch-at-login are configured on each device. Subscriptions often contain access credentials, so don’t upload them to unfamiliar online conversion services.

Older PCs: Check that your OS version and architecture meet the current package requirements, then compare actual idle memory use and performance in your usual tasks. This guide doesn’t rank clients by interface technology. No longer maintained doesn’t mean lightweight. Experienced Linux users who don’t need a GUI can consider deploying mihomo from the command line, but will need to manage the service, logs, and network permissions themselves.

For a fair performance comparison, keep test conditions consistent: use the same configuration, outbound connection, and app workflow, and disable unnecessary automatic tests first. Connection speed also depends on the outbound server, DNS resolution, network route, and protocol settings—not just the client. On mobile, battery use varies with background activity, connection count, and network switching, so a single ranking won’t tell the whole story.

05 / MIGRATION CHECKLIST

Configuration checks before switching clients

  1. Keep recoverable originals. Record where your configuration came from, how the subscription updates, and which local rules you added. Back up a configuration that still works. Never share configuration files or full subscription URLs that contain credentials.
  2. Separate format compatibility from feature support. Being able to read YAML doesn’t mean a client supports every node, rule set, or DNS field. If it reports an unknown field or unsupported protocol, check the core first, then pinpoint the relevant section of the configuration.
  3. Turn off the old network takeover. Stop the old client’s system proxy, TUN, or VPN before enabling the new one. Multiple apps competing for the same ports, routes, or system proxy settings can make troubleshooting misleading.
  4. Start by testing a basic connection. Confirm that the configuration loads, the policy groups are present, and you can select an outbound connection. Then test a real app. Once the system proxy works, enable TUN, LAN access, or custom DNS as needed.
  5. Make sure your changes persist. Manually update the subscription once and check that local rules and ports are still as expected. If an update overwrites your changes, use an override mechanism supported by the client instead of repeatedly editing a temporary generated file.
  6. Set up startup and permissions last. Once basic usage is stable, configure launch at login, background activity, and service permissions. This makes it easier to tell configuration issues from system integration problems.

Choose a client that fits your device, configuration source, and maintenance preferences—not as many clients as possible. Once you’ve picked one, visit the client download page to check system requirements and installation options. If you’ve chosen a client but are stuck on importing, ports, or DNS, see the FAQ.