Local configuration tool
TUIC to sing-box JSON
reduce_rtt is translated to zero_rtt_handshake, the name sing-box actually reads.
Conversion happens entirely in your browser. Links are not uploaded, saved, or placed in the page URL.
Conversion result
Why some links are rejected
A parameter that cannot be mapped without changing how the connection behaves is reported rather than dropped. For sing-box that mostly means XHTTP, a transport it does not have at all, plus certificate pinning and TUIC v4 tokens. Renames that sing-box does read — reduce_rtt becoming zero_rtt_handshake — happen here instead of failing quietly on your device.
How to import into sing-box
Save the JSON as your config file, or import it as a local profile in SFI, SFA or SFM. The Proxy selector outbound is already wired up, so switching nodes does not mean editing the file.
How TUIC fields map to sing-box
What this converter actually does, line by line. On the left is how it is written in a TUIC link; on the right is the field it becomes in the sing-box config.
| In the link | In the sing-box config | Notes |
|---|---|---|
uuid:password@host:port | uuid / password / server / server_port | TUIC v5 authenticates with both a UUID and a password; either one missing is an error. |
sni / alpn | tls.server_name / tls.alpn | QUIC again, so TLS is implicit and there is no enable flag to set. |
congestion_control | congestion_control | cubic, new_reno or bbr. Note the target names differ by more than punctuation — Mihomo says controller. |
udp_relay_mode | udp_relay_mode | native or quic. udp-relay-mode is accepted as an alias in the link. |
reduce_rtt | zero_rtt_handshake | sing-box reads zero_rtt_handshake; a config that says reduce_rtt is silently ignored by it. |
disable_sni | tls.disable_sni | In sing-box this is a shared TLS option, so it lands inside the tls block rather than on the outbound. |
token | Rejected with an error | A token means TUIC v4, whose wire format and authentication differ from v5 — there is no safe reinterpretation. |
FAQ
- Which client do I use after converting TUIC to sing-box?
- Use an official sing-box 1.11+ client (SFI, SFA and SFM included). Versions below 1.11 reject the route rule actions this config uses and fail to load.
- Is this TUIC converter free, and does it upload my node links?
- It is free and needs no account. The conversion is done by JavaScript inside this page, on your own machine: links are never uploaded, never written into the page URL, and never stored. Closing the tab is all the cleanup there is.
- Can I convert a subscription link straight to sing-box?
- Yes, but paste the body the subscription URL returns — usually one long base64 string — rather than the URL itself, which the browser cannot fetch across origins. Mixed protocols in one subscription are fine. Subscription to sing-box converter
- The sing-box config converted fine but will not connect — what now?
- This page only translates links into a config: it checks the structure, never whether the server is reachable. Confirm the same link works in the client you copied it from, then check the client version — server_ports and route rule actions need sing-box 1.11 or newer.
This creates a one-time local configuration, not an auto-updating subscription. It checks configuration structure, not whether a server is reachable.