URL decode
Turn %E2%9C%93 back into ✓. Double-encoded strings, form encoding and half-broken input are all handled rather than refused. Nothing is uploaded.
- Processed on your device
- No upload, no waiting
- No signup, no watermark
How it works
Paste the encoded text
A whole URL, a query string, or just one value.
Pick the flavour if needed
Standard decoding, or form decoding where + means space. If you are unsure, the page shows you when the two differ.
Copy the result
Decode again if the text was encoded twice — which is common, and easy to spot once you see it.
Frequently asked questions
My text still has %25 in it after decoding
Then it was encoded twice, which is extremely common — it happens whenever an already-encoded value gets encoded again on its way through a redirect or a logging layer. %25 is the encoding of the % character itself, so the first decode turns %2520 into %20, and a second decode turns that into a space. Just decode again. The page tells you when it spots the pattern.
Should "+" become a space?
It depends where the string came from, which is why it is a choice rather than a guess. In an application/x-www-form-urlencoded body — a submitted HTML form — + means space. In a path segment, or in data that merely travelled through a URL, + is a literal plus character and turning it into a space corrupts the value. Base64 strings are the case that bites: they contain real + characters, and form-decoding one destroys it.
What happens with a broken string?
It decodes what it can and leaves the rest alone, rather than refusing everything. A stray % that is not part of a valid escape — common when text has been partly decoded already, or truncated — makes the browser's own decoder throw an error and return nothing. Here, every valid escape is decoded and the stray characters are left as they are, which is far more useful when you are trying to read a broken log line.
Is my text uploaded?
No. Everything happens inside this page, on your own device — nothing is uploaded and no request is made. You can disconnect from the internet after the page loads and it keeps working.
Can I decode a whole URL at once?
Yes. Paste the entire thing — the structure is left readable and only the encoded parts are turned back into text, so a long URL with several encoded parameters becomes something you can actually read.