About the URL Decoder
Links copied from emails, analytics reports, server logs or redirect addresses are often full of codes like %20, %3A and %C3%A9. Paste such a link or text into the URL Decoder and it turns the codes back into readable characters: spaces, slashes, accented letters and emoji.
When the input contains a query string, the parameters are listed in a table with their names and decoded values, so a long tracking link becomes easy to read. Links that were encoded twice or more, such as hello%2520world, can be decoded repeatedly until nothing is left to decode.
The decoder is forgiving. Codes that are not valid UTF-8 and stray % signs are kept and reported instead of causing an error. Everything runs in your browser.
How to use it
- Paste the encoded textPaste a link, a query string or any percent-encoded text. Sample loads a search link with an encoded French phrase.
- Read the resultThe decoded text appears on the right as you paste. The status line says whether anything was decoded.
- Check the parametersIf the input has a query string, the Query parameters table lists each name and its decoded value.
- Handle + and double encoding"Treat + as a space" is on by default. Turn on "Decode again until fully decoded" for links that were encoded more than once.
- Copy the resultCopy the decoded text or download it as a text file.
Key features
UTF-8 decoding
%C3%A9 becomes é, %E2%82%AC becomes € and %F0%9F%91%8D becomes 👍.
Query parameter table
Every name and value in the query string, decoded and listed one per row.
Plus signs as spaces
Form-encoded text uses + for spaces. Turn the option off when + means a real plus sign.
Repeated decoding
Unwrap double- or triple-encoded links in one step, up to ten rounds, with the count shown in the status line.
Tolerant of errors
Invalid sequences and lone % signs are kept instead of stopping the decoder, and the status line tells you about them.
Private by design
Nothing is uploaded. Links that contain personal data or tokens stay on your device.
Examples
Decoding a search link
The Sample button loads:
https://example.com/search?q=caf%C3%A9%20au%20lait&lang=fr&ref=home%2Bmenu
The decoded result is https://example.com/search?q=café au lait&lang=fr&ref=home+menu, and the parameter table shows:
| Name | Value |
|---|---|
| q | café au lait |
| lang | fr |
| ref | home+menu |
Note that %2B is decoded to a real + sign, which is not turned into a space.
Reading a redirect address
https://example.com/login?next=%2Faccount%2Forders%3Fpage%3D2&lang=en
The table shows next = /account/orders?page=2 and lang = en. The decoded text contains two question marks, which is fine for reading but no longer a valid link, so keep using the encoded version in your browser.
Double-encoded text
hello%2520world was encoded twice. By default, one round of decoding gives hello%20world. With "Decode again until fully decoded" on, you get hello world and the status line says "decoded 2 times".
A link encoded three times works the same way:
https%25253A%25252F%25252Fexample.com
becomes https://example.com, decoded 3 times.
Plus signs
For C%2B%2B+tips+for+beginners, the default gives C++ tips for beginners. With "Treat + as a space" off, you get C+++tips+for+beginners, because only the encoded plus signs were real ones.
Problems the decoder reports
| Input | Result and status |
|---|---|
caf%E9 | caf� · 1 sequence was not valid UTF-8 |
100% sure | 100% sure · Nothing to decode, 1 lone % sign left as is |
Tips
- Paste tracking links from ads and newsletters to see their UTM parameters in plain words. The table makes it easy to spot a wrong campaign name.
- If you still see %20 or %3A after decoding, the text was encoded twice. Turn on "Decode again until fully decoded".
- Turn off "Treat + as a space" for paths and for values such as phone numbers, where + is a real character.
- A � character in the result means the text was encoded in an older character set such as Latin-1, not UTF-8. The original letter cannot be recovered automatically.
- To take a URL apart into protocol, host, path, parameters and fragment, use the URL Parser.
Common mistakes and limits
- Using the decoded link in a browserDecoding can turn encoded ?, & and # inside values into real URL syntax, which changes what the link means. Use decoded text for reading and the original for linking.
- Decoding too many times"Decode again" keeps going while codes remain. If the original text really contained something like %20, as in a page about URL encoding, the extra rounds change it.
- Expecting the table to follow the + settingThe Query parameters table always reads + as a space, as browsers do for query strings, even when the option is off.
- Pasting Base64 or HTML entitiesThis tool decodes percent codes only. Use the Base64 Decoder for Base64 and the HTML Decoder for entities like &.
- Expecting Latin-1 codes to workOld links can use %E9 for é. That is not valid UTF-8, so it shows as �. Re-encode the text from the original source if you can.