3x-ui3x-ui

Share Links

3x-ui share-link formats (vless, vmess, trojan, ss, hysteria2, mtproto), the remark template variables, and an in-browser link inspector.

3x-ui generates a share link (and QR code) for each client. Client apps such as v2rayNG, Hiddify, and Mihomo import these links to configure themselves.

SchemeShape
vless://vless://<uuid>@<host>:<port>?<params>#<remark>
vmess://vmess://<base64-json> (a base64-encoded JSON object)
trojan://trojan://<password>@<host>:<port>?<params>#<remark>
ss://ss://<userinfo>@<host>:<port>?<params>#<remark> (SIP002; Shadowsocks-2022 uses percent-encoded userinfo)
hysteria2://hysteria2://<auth>@<host>:<port>?<params>#<remark>
tg://proxytg://proxy?server=…&port=…&secret=… (MTProto)

The query parameters carry the transport and security settings — security, sni, fp, pbk, sid, spx, flow, type, path, host, alpn, and more.

Paste any share link to decode every field. Parsing happens entirely in your browser — the link is never sent over the network.

Share-link inspector

Paste a vless / vmess / trojan / ss link to decode every parameter. It is parsed entirely in your browser — nothing is sent over the network.

Share links contain everything needed to connect as a client, including the client's credential. Treat them like passwords.

Remark template variables

The text after # in each link (the remark) is generated from a template you control in Panel Settings (remarkTemplate). The default is:

{{INBOUND}}-{{EMAIL}}|📊{{TRAFFIC_LEFT}}|⏳{{DAYS_LEFT}}D

Tokens use {{UPPER_CASE}} syntax. The template is split on | into segments; a segment whose only value is the unlimited marker (for TRAFFIC_LEFT, TRAFFIC_TOTAL, DAYS_LEFT, or TIME_LEFT) is dropped, so unlimited clients don't show empty decorations.

Available tokens

TokenValue
{{EMAIL}} / {{USERNAME}}Client email (identifier)
{{INBOUND}}Inbound remark
{{HOST}}Host-row remark (managed hosts)
{{ID}} / {{SHORT_ID}}Client UUID / its first 8 chars
{{TELEGRAM_ID}} · {{SUB_ID}} · {{COMMENT}}Telegram ID, subscription ID, comment
{{STATUS}} / {{STATUS_EMOJI}}active/expired/depleted/disabled (or ✅⏳🚫)
{{DAYS_LEFT}} / {{TIME_LEFT}}Days, or Xd Xh Xm, remaining ( if unlimited)
{{EXPIRE_DATE}} / {{JALALI_EXPIRE_DATE}} / {{EXPIRE_UNIX}}Expiry as Gregorian / Jalali date / Unix seconds
{{CREATED_UNIX}}Creation time (Unix seconds)
{{TRAFFIC_USED}} / {{TRAFFIC_LEFT}} / {{TRAFFIC_TOTAL}}Human-readable usage ( if unlimited)
{{TRAFFIC_USED_BYTES}} / {{TRAFFIC_LEFT_BYTES}} / {{TRAFFIC_TOTAL_BYTES}}Same, in bytes
{{UP}} / {{DOWN}}Upload / download (human-readable)
{{RESET_DAYS}} · {{USAGE_PERCENTAGE}}Reset period (days) · used percent
{{PROTOCOL}} / {{TRANSPORT}} / {{SECURITY}}e.g. VLESS / ws / REALITY

Usage tokens (traffic, days, status) appear in the subscription body but are stripped from the display/QR view, so a shared QR doesn't leak a client's remaining quota. Date tokens follow the datepicker setting (Gregorian or Jalali).

On this page