Back to Blog

Xray vs sing-box vs Mihomo: Which VLESS Client Core Should You Choose?

Technical Editorial Team · Published October 3, 2026

Xray, sing-box, and Mihomo can all appear behind apps that connect to VLESS servers, but they come from different ecosystems and emphasize different things.

For most users, you do not need to choose a core first. Choose a maintained app that supports the subscription format your provider gives you. But understanding the difference explains why the same VLESS server may work differently in v2rayN, Karing, Clash Verge Rev, or another client.

The Top 5 VLESS Clients guide compares the apps themselves. This article focuses on what is underneath them.

Xray: closest to the VLESS and REALITY ecosystem

Xray is closely associated with VLESS, REALITY, XTLS Vision, and newer Xray transports such as XHTTP. If a provider gives you an Xray-oriented VLESS profile, an Xray-based client is often the most direct fit.

This is one reason apps such as v2rayN and v2rayNG remain popular with VLESS users: new Xray-specific features usually make the most sense in the Xray ecosystem first.

Xray also supports DNS and routing, but its strongest identity is still the protocol and transport side of the V2Ray/Xray ecosystem.

A good fit for: users who mainly care about VLESS, REALITY, Vision, XHTTP, and direct compatibility with Xray configurations.

sing-box: a broader networking engine

sing-box is broader in scope. It combines proxy protocols with DNS, routing, TUN, traffic rules, and other networking features in one engine.

That makes it attractive for cross-platform apps that want more than a simple list of proxy nodes. Karing, for example, is built around the sing-box ecosystem and exposes many of these capabilities through a graphical interface.

sing-box has its own configuration format. An Xray JSON profile is not automatically a sing-box profile even if both ultimately connect to the same VLESS server.

One current difference is XHTTP: the official sing-box V2Ray Transport documentation does not list XHTTP. If your server specifically requires an Xray XHTTP profile, check the exact client and core before assuming compatibility.

A good fit for: users and apps that want VLESS together with flexible DNS, routing, TUN, and multi-protocol networking.

Mihomo: Clash-style rules, groups, and automatic selection

Mihomo comes from the Clash ecosystem. Its strength is not simply that it can connect to VLESS. It is the way nodes can be organized into proxy groups and combined with routing rules, DNS, TUN, rule providers, and automatic server testing.

This is why a Mihomo subscription often feels different from importing a few individual VLESS links. A provider can deliver a complete policy: groups for automatic selection, regional choices, direct routes, proxy routes, and rules for different traffic.

Clash Verge Rev is a popular desktop example of this ecosystem.

Current Mihomo versions support VLESS, REALITY, and XHTTP, but Mihomo YAML is still its own configuration format. It should not be treated as interchangeable with Xray or sing-box configuration.

A good fit for: users who like Clash-style subscriptions, policy groups, automatic node selection, and rule-based routing.

Xray vs sing-box vs Mihomo at a glance

CoreStrongest identityTypical reason to choose it
XrayVLESS, REALITY, Vision, newer Xray featuresDirect fit for Xray-oriented VLESS profiles
sing-boxBroad proxy engine with DNS, routing and TUNOne engine for cross-platform networking and multiple protocols
MihomoClash-style groups, rules and automatic selectionRich subscription policies and easy management of many nodes

None of these descriptions means one core is universally better. They solve overlapping problems from different starting points.

Why does the same provider offer several subscription formats?

A provider may offer an individual VLESS link, an Xray-style configuration, a sing-box profile, and a Mihomo/Clash subscription for the same underlying servers.

That is useful because conversion is not always just a matter of renaming fields. A Mihomo subscription may contain policy groups and rule providers that do not have a direct equivalent in a simple VLESS link. A sing-box configuration may include its own DNS and routing logic. An Xray profile may use a feature that another core has not implemented yet.

So the best subscription format is usually the one designed for the client you are actually using.

What about automatic server selection?

This is one area where the ecosystems can feel very different.

Mihomo stands out because URL-test and fallback groups can be delivered with the server list in a Clash-style subscription. The client can then apply the provider's selection policy directly. Xray and sing-box also support advanced routing and selection, but the behavior users get depends more on the client app and configuration than on the core name alone.

If automatic node selection is important to you, look at the complete client and subscription rather than comparing protocol support alone.

Which one should you choose?

For most people, the answer is straightforward:

  • Use an Xray-based client when your provider gives you Xray/VLESS profiles or you need Xray-specific features such as the latest REALITY or XHTTP options.
  • Use a sing-box-based client when you want a modern cross-platform networking engine with strong DNS, routing, and TUN capabilities.
  • Use a Mihomo-based client when you prefer Clash-style subscriptions, proxy groups, automatic selection, and rule-based routing.

If your provider already offers a format specifically for your app, start there instead of manually converting configurations.

There is also no useful universal speed ranking between the three. Server location, routing, packet loss, transport, DNS behavior, and the actual client implementation usually matter more than the core name.

WahooVPN users can see supported formats and import steps in the third-party app guide. For the transport side of VLESS, see XHTTP vs WebSocket vs gRPC. If your server uses REALITY, read VLESS REALITY vs TLS.

Sources: Xray configuration, sing-box VLESS outbound, sing-box V2Ray Transport, and Mihomo VLESS configuration.