Home Text ToolsURL Decoder

URL Decoder

Decode percent-encoded (%20, %26…) text back to readable form.

hello world & friends
Decodedhello world & friends

Paste a percent-encoded URL or query string to decode it back into readable text — the counterpart to the URL Encoder. Turns %20 into a space, %26 into & and so on.

Formula / method

reverse percent-encoding (%XX → character), and + → space

Examples

hello%20world
hello world
a%26b%3Dc
a&b=c

What percent-encoding is

URLs can only safely carry a limited set of characters, so anything outside that set gets replaced with a percent sign followed by two hexadecimal digits. A space becomes %20, an ampersand becomes %26, a slash becomes %2F, and a question mark becomes %3F. Non-English letters and emoji are first turned into their UTF-8 bytes and then each byte is percent-encoded, which is why a single accented character can appear as two or three codes in a row.

This decoder reverses that process, turning %2Fsearch%3Fq%3Dcafe%25 back into readable /search?q=cafe%. It runs entirely in your browser, so query strings, tokens or links you paste never leave your device.

When it helps

Reach for it when a link in a log file, email or redirect looks like gibberish, or when you need to read the real value of a UTF-8 parameter copied from an address bar. It is the exact opposite of the URL Encoder, so if you need to build a safe link instead of read one, use that tool. Note that a plus sign means a literal plus in a path but a space in an old-style form query, so decode with the original context in mind.

Where it's used

  • Reading a shared link where spaces and symbols were turned into %20 and other codes
  • Debugging query-string parameters in an API request or webhook
  • Recovering the original destination from a redirect URL embedded in another link
  • Making a copied search or UTM-tagged URL human-readable
  • Turning percent-encoded UTF-8 bytes back into accented or non-English characters

Real-world examples

  • 'https%3A%2F%2Fexample.com' decodes back to 'https://example.com'.
  • A URL with '?q=caf%C3%A9%20menu' decodes to 'café menu' — %C3%A9 is the UTF-8 encoding of é.
  • 'New%20York' turns back into 'New York' once the %20 spaces are decoded.

Did you know?

In URLs a space can be written as %20 or, inside a query string, as a plus sign (+) — a legacy of how HTML forms submit data as application/x-www-form-urlencoded.

FAQ

Why does it say invalid?

A stray % that is not followed by two valid hex digits makes the string impossible to decode. Check for malformed sequences.

Related tools

Related guides