URL encoding to Text Converter – Free, Online, Private
Decode a percent-encoded string. Plus signs become spaces first, matching form bodies as well as %20.
How to convert URL encoding to Text
- Paste the encoded text. A lone % that is not a hex byte is an error.
- Plus signs are turned into spaces, then the percent sequences are decoded as UTF-8.
- Copy the text. Decode once; a second pass is a no-op only when no percent signs remain.
Order of operations
The page replaces + with a space, then calls decodeURIComponent. That order matches a query value from a form, where + means space, and it still accepts %20. A literal plus that was encoded as %2B survives, because that sequence is decoded after the plus-to-space step and becomes +. A literal plus character in the input does not survive as plus. If you encoded with this site's URL encode page, there is no raw plus, so the round trip is exact. Malformed sequences such as %ZZ or a trailing % throw, and the page shows the error instead of a partial string.
UTF-8
Percent sequences are decoded as UTF-8. %C3%A4 is ä. A string that was encoded as Latin-1, where ä was %E4, is not valid UTF-8 and the decode fails. That failure is more useful than a wrong character. If you know the page is an old system, decode the bytes another way; this page will not guess a charset. Over-decoded input, where %2520 should become %20 on the first pass and a space on the second, needs two visits. The page does not loop, because a value that legitimately contains a percent sign would be destroyed.
Worked example
The sample decodes to a b/c?x=1&y=ä. The space, the slash, the question mark, the equals, the ampersand and the ä all return. Paste that text into the encode page and the sample comes back. A query string you copied from a browser address bar often still contains & and = as separators. This page does not split parameters. It decodes the whole box. Split the query yourself if you need keys, or use the URL tool on Utilo, which parses pairs. Decoding the whole URL including https:// is safe: those characters are not percent-encoded and stay as they are.
Local
Encoded strings sometimes carry tokens in a query. Decoding them in the tab means the token is not sent to a decoder site. Treat the output as secret if the input was. The page does not store it.
Frequently asked questions
What does + become?
A space. %2B becomes a plus sign. %20 also becomes a space.
Why did %E4 fail?
That byte is not valid UTF-8. It is a common Latin-1 encoding of ä. This page decodes UTF-8 only.
Does it split a query string?
No. The whole input is one string. Separators that were not encoded stay as & and =.
Is the value uploaded?
No.