Skip to the tool

URL Decode

Decode percent-encoded URLs and query strings back to readable text, including UTF-8 and non-ASCII characters.

URL decoding reverses percent-encoding, turning sequences like %20 back into spaces and %E4%B8%AD back into the original UTF-8 byte. It is essential when inspecting API requests or debugging redirects.

The decoder also accepts '+' as a space (the form-encoding convention) and is forgiving about uppercase or lowercase hex digits.

The decoder accepts both uppercase and lowercase hex digits and treats '+' as a space, matching the form-encoding convention used by browsers.

Common uses

Frequently asked questions

What does %20 mean?
It is the percent-encoded form of a space (ASCII 32, hex 0x20). Query strings also use '+' for space in form encoding.
Why is my decoded text garbled?
The source bytes were probably encoded in a non-UTF-8 legacy page. The standard for modern URLs is UTF-8; other encodings cannot be auto-detected reliably.
Can decoding introduce XSS?
Only if you insert the decoded text into HTML without escaping. Decoding itself is safe; output context matters.
Can I decode a full URL?
Yes, paste the whole thing. Only the encoded parts are changed; protocol and domain stay readable.
Is decoding lossless?
Yes. Percent-decoding restores the exact original bytes, so you can encode and decode repeatedly without losing information.
Can I decode nested encodings?
Yes. Some URLs are double-encoded, which is why the tool is forgiving about padding and case. Decode twice if the output still contains percent signs.

Related tools