The ones you will meet most
| Encoded | Character |
|---|---|
| %20 | space |
| %2F | / |
| %3A | : |
| %3D | = |
| %26 | & |
| %3F | ? |
| %25 | % |
A worked example
A tracking link like /r?to=https%3A%2F%2Fexample.com%2Fa%20b decodes to https://example.com/a b — which tells you where the redirect actually goes before you click it. Reading the destination of a shortened or wrapped link is the most common reason to decode a URL by hand.
When you see %2520
That is a double-encoded space: the % of %20 was itself encoded as %25. It means the link passed through two systems that each escaped it, and it usually breaks the destination. Decoding twice gets you back to the original.
Going the other way? Encode text for a URL — or switch direction with the tabs above without losing what you pasted.
More free text tools
- Word counterLive word count with reading time, sentences and paragraphs.
- Character counterCharacters with and without spaces, against X, SMS and SEO limits.
- Letter counterCount letters only, with a frequency breakdown for puzzles.
- Text cleanerStrip extra spaces, blank lines and invisible characters in one pass.
- Remove line breaksRejoin text that a PDF or email broke into short lines.
- Text compareDiff two versions and see what was added, removed and left alone.
Frequently asked questions
Is this URL decoder free?
Yes, with no account and no length limit.
What does %20 mean?
A space. Percent-encoding writes a character as a % followed by its byte value in hexadecimal, and a space is byte 0x20. The other three you will meet constantly are %2F for a slash, %3D for an equals sign and %26 for an ampersand.
Why does a plus sign become a space?
In a query string submitted by a form, a space is historically written as +. That rule applies to the query only — a + in a path or in a fragment is a literal plus. This decoder leaves + alone, which is correct for URLs generally; if you are decoding form data, replace + with a space first.
Why does it say my input is malformed?
A % must be followed by two hexadecimal digits. A stray % — in a filename, or in text that was encoded twice and then truncated — has nothing valid after it, and the decoder says so rather than returning a mangled string.
What about double-encoded URLs?
If the result still contains %25 followed by more digits, the URL was encoded twice. Decode it again and it resolves. Double encoding usually means a link passed through two systems that each escaped it.
Is the URL uploaded?
No. Decoding happens in your browser, so a link with a session token or a customer reference in it never leaves your device.