URL Decoder
Turn percent-encoded gibberish back into readable text. Paste a URL, URI or query string full of %XX escapes and press Decode: multi-byte UTF-8 characters, punctuation and spaces come out clean, while anything malformed stays exactly as you typed it. The whole decode runs in this browser tab; nothing is uploaded.
URL Decoder — percent-decode URLs, URIs and query strings right in this browser tab. Valid %XX escapes decode as UTF-8 text; malformed escapes stay as typed. Turn on the checkbox to also turn + into spaces in the query part (after the first ?). Nothing you type is uploaded or stored — decoding happens entirely on this page.
Paste the encoded text
Drop the percent-encoded URL, URI or query string into the "Enter encoded URL text" box — for example https%3A%2F%2Fwww.example.com%2Fpage%3Fq%3Dhello%20world. Multiline input is fine.
Set the plus rule
Form and search query strings often encode a space as + instead of %20. Tick "Replace ‘+’ with spaces after ‘?’" to turn plus signs into spaces in the query part (after the first ?), leaving pluses in the path untouched.
Decode and take the result
Press Decode and read the decoded text in the result box. Press "Select result" to highlight the whole output so you can copy it with one keystroke — or just press Reset to start over.
How URL decoding works
- What is percent-encoding?
- URLs may only carry a limited set of characters, so anything else is written as a percent sign followed by two hex digits — %20 for a space, %3A for a colon, %E2%82%AC for €. Percent-decoding reads those escapes back into the characters they stand for.
- How are letters, emoji and other UTF-8 text handled?
- Consecutive escapes are treated as one UTF-8 sequence, so %C3%A9 decodes to é, %E2%9C%93 to ✓ and the four-byte run %F0%9F%98%80 to 😀. A byte run that is not valid UTF-8 is left as typed instead of guessing.
- What happens with malformed escapes?
- A lone %, a truncated %2 or a non-hex %zz is never an error here: it stays exactly as you typed it while the valid escapes around it still decode. That makes the tool safe for messy copy-pasted text.
- Is the text decoded more than once?
- No — decoding is a single pass by design. %2520 becomes %20, not a space, so double-encoded text stays recognizable and a URL that merely contains %25 is never mangled.
- When should I turn + into spaces?
- Only in the query part of a URL. HTML forms and many APIs write spaces as + after the ?, while + is a literal plus in most other positions. With the checkbox on, only pluses after the first ? become spaces.
- Does my text leave the browser?
- No. Decoding is a plain string transformation performed by this page’s own JavaScript — there is no upload, no account, and no request to any server, and nothing you paste is stored.
Privacy: the text you paste is decoded entirely in this browser tab by this page’s own code. Nothing is sent to a server, and no account or permission is required.