piapia123
en

VMess / Shadowsocks / SSR Link Parser

Encoding

Everything runs locally in your browser — nothing is uploaded

Input
Drop a file here to load its contents
Output

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

  1. Paste the whole link into the box, prefix included
  2. Every field is listed immediately — no Run button required
  3. Copy the individual rows you need
  4. 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