What percent-encoding is and how decoding reverses it
URLs can only safely carry a limited set of characters. Anything outside that set, such as spaces, accented letters, ampersands inside a value, or slashes inside a query parameter, is written as a percent sign followed by two hexadecimal digits that represent the byte. A space becomes %20, a question mark inside a value becomes %3F, and a colon becomes %3A. This is called percent-encoding or URL encoding.
Decoding is the reverse: every %XX sequence is turned back into the byte it stands for, and the bytes are read as text. Characters outside plain English, such as "é" or Chinese characters, are first turned into UTF-8 bytes and then each byte is percent-encoded, so one visible character can appear as several %XX groups. A decoder reassembles those groups into the original character.
When you end up with an encoded string you need to read
Tracking links carry long query strings, redirect URLs contain another full URL tucked inside a parameter, and web server logs record paths exactly as the browser sent them.
Developers and analysts decode these values to check what a parameter contains, debug a redirect, or read a search term from a log file. To go the other way and prepare text for use inside a link, use the URL Encoder.
How to decode a URL with this tool
- Open the page. The input box is filled with a sample encoded address so you can see how it behaves.
- Select the text in the "Text to decode" box and replace it with your own encoded string, or clear it and paste.
- Read the decoded text in the "Result" box below. It updates as you type, so there is no button to press.
- Click Copy to put the result on your clipboard.
The conversion happens in your browser with the standard decodeURIComponent function, and the page has no control that submits your text anywhere.
Limits and common mistakes
The tool decodes the entire input as one block of text. It does not split a URL into host, path and parameters.
A plus sign is left alone. In form submissions a plus often stands for a space, but this decoder only translates percent sequences, so "hello+world" stays as typed.
If the input contains a stray percent sign or a sequence that does not form valid UTF-8, the Result box shows "Invalid input for decoding." and Copy is disabled. Fix the broken part and the result returns. If the output still contains percent sequences, the text was encoded twice and you can paste the result back in to decode it again.