VMess / Shadowsocks / SSR Link Parser
EncodingEverything runs locally in your browser — nothing is uploaded
Expand a proxy link into its fields. The three formats share exactly one thing — they are all Base64-wrapped — while containing entirely different payloads: VMess carries JSON (many fields, and more over time), Shadowsocks carries a line of text in the form `method:password@host:port`, and ShadowsocksR carries colon-separated fixed fields plus a query string, with the password and parameters each Base64-encoded again. ⚠️ What this tool does is parsing — Base64 is not encryption, and unpacking it reveals the link's full contents with nothing held back. Clients disagree on how they spell the Base64 (URL-safe alphabets, dropped padding), and all variants are accepted here.
Features
- Detects all three protocols: vmess://, ss://, ssr://
- VMess's abbreviated keys (add / aid / scy / net) translated into plain names
- Both Shadowsocks spellings: the legacy form and SIP002
- ShadowsocksR protocol plugin, obfuscation and query parameters unpacked too
- URL-safe Base64, missing padding and any prefix casing are all accepted
- Passwords containing @ or : come out whole rather than truncated
How to use
- Paste the whole link into the box, prefix included
- Every field is listed immediately — no Run button required
- Copy the individual rows you need
- The original link is listed last, for cross-checking
FAQ
- Is this decryption?
- No. All three formats are plain Base64, with no key — anyone holding the link can unpack it, which is what this tool does. Base64 is a convention for writing data as printable characters, not encryption. Bear that in mind: the password and UUID inside a link are in the clear, readable by anyone who sees it.
- Why are some fields missing?
- VMess JSON carries every key it knows, with empty strings for the unused ones — this tool omits empty values, since otherwise half the output is noise. If a field you expected is absent, it was probably blank to begin with. Also note that clients support different field sets: links produced by older clients have no `scy` or `sni`, and that is normal rather than a parsing failure.
- Can I import these links into a client from here?
- This tool only parses — it does not generate links, and it does not convert between formats. It tells you what a link contains; it will not rewrite it into another shape. Hand the original to your client instead. That limitation is deliberate: conversions easily drop a field (especially the SSR protocol and obfuscation parameters), and a client missing one still connects, just behaving differently — which is a miserable thing to debug.
Related tools
Base64
EncodingConvert text to Base64 and back, with correct UTF-8 handling for accents, CJK and emoji. Runs entirely in your browser — nothing is uploaded.
URL Encode
EncodingEscape text into %XX form and back again, treating a whole URL and a single parameter value as different jobs. Runs entirely in your browser.
Thunder / FlashGet
EncodingTurn thunder:// and similar download links back into plain HTTP, FTP or magnet addresses, or generate them. Non-ASCII filenames handled as UTF-8.
HTML Entities
EncodingTurn < > & and quotes into HTML entities and decode them back in a single pass, so &lt; becomes <, not an angle bracket. Runs in your browser.
JWT Decoder & Verifier
EncodingDecode a JWT and verify an HS256, HS384 or HS512 signature with your secret, reading exp and nbf as dates. All local to your browser.
Unicode Escape
EncodingConvert non-ASCII text and emoji into \uXXXX or \xXX escapes and back, with emoji written as proper surrogate pairs. Runs entirely in your browser.