Is Clash compatible with Surge?
Shared node protocols continue to work, while routing policies can be organized as mihomo YAML.
Surge uses its own profile format, with sections such as [General], [Proxy], [Proxy Group] and [Rule]. For migration, organize nodes and policy groups as mihomo YAML, then use Clash rules and matching features to recreate the routing experience.
Which Surge nodes can be reused?
Clash supports Snell and multiple protocols shared by both products, including:
- HTTP and SOCKS;
- Shadowsocks;
- VMess and Trojan;
- WireGuard;
- Snell.
Snell is normally added through mihomo YAML, a compatible subscription that returns mihomo YAML, or the node editor. Other nodes can be recreated from their server and protocol parameters.
How to migrate
- Prefer a mihomo / Clash subscription from the provider.
- If only a Surge profile is available, recreate the required nodes from their parameters.
- Rewrite Surge policy groups and rules as mihomo YAML.
- Use Clash rules and matching features to recreate the needs expressed by modules, scripts and rewrites.
What to configure during migration
- organize Surge nodes and policies as mihomo YAML;
- express the original routing logic with Clash rules;
- recreate module, rewrite, MITM and script needs with matching Clash features;
- set app preferences to match your workflow.
The same server can be used directly once its protocol and parameters match.
Return to the compatibility overview.