BanShow ToolsBanShow 工具箱

URL Encoder & Decoder

See exactly how many layers of URL encoding your parameters carry, edit the decoded values, and rebuild the URL with every layer re-encoded automatically.

Quick encoder

How to use it

  1. Paste a full URL, a query string or any encoded fragment — analysis starts immediately.
  2. Read the parameter tree: every value is fully decoded, and values that are URLs themselves expand into their own table.
  3. Open “Layer-by-layer decode” to see what each round of decoding reveals.
  4. Edit any key or value, then copy the rebuilt result — every layer is re-encoded with its original depth.

Frequently asked questions

Why is a URL parameter encoded more than once?

When a URL carries another URL as a parameter, the inner URL is usually encoded once by its own application and encoded again when it is inserted into the outer URL. Redirect services (OAuth login, SSO, share links, ad trackers) add one layer per hop, so values like %253A are common.

How do I know how many layers a parameter has?

Keep percent-decoding until nothing changes — each round that changes the string is one layer. The tool does this automatically, shows a ×N badge on every value and expands the final decoded value when it is itself a URL.

What is the difference between %20 and +?

Inside a query string, + traditionally means a space (form encoding), while %20 is the percent-encoded space produced by encodeURIComponent. The tool treats + as a space when decoding (you can turn this off) and keeps the convention consistent when rebuilding.

Will editing a value break the URL?

No. When rebuilding, every edited value is re-encoded with the same number of layers it originally had, so the outer URL stays valid — you can change a deep parameter like tab=security without touching the encoded wrapper.

Is my data uploaded anywhere?

No. Parsing, decoding and rebuilding happen entirely in your browser with JavaScript — nothing is sent to any server.

Related tools