AnyFormat

00 Utility

URL Decode

Reads a mangled URL back into something legible.

01Input
02Output
03Options 1

Correct for form data and query strings. Turn it off if a literal plus sign is meaningful — in a base64 value, for instance.

  • No upload The conversion runs in this tab. Your file never travels — not to us, and not to the advertising.
  • No sign-up, no email, no daily cap There is no account system to sign up to.
  • No size limit we invented Only your device's memory — about ~2 GB on a desktop browser, ~400 MB on a phone.
  • Turn your Wi-Fi off and convert anyway The conversion needs nothing but this page. Ads will not load without a connection; your file will still convert. That is the whole claim, and it takes five seconds to check.

Turns %20 back into a space and %C3%A9 back into é. Most often used to read what an analytics URL, a redirect chain or a log line actually contains.

The plus-sign ambiguity

+ means a space in form-encoded data and a literal plus everywhere else, and nothing in the string tells you which applies. The default here treats it as a space, which is right for the query strings people usually paste.

Turn it off when the value is Base64 (where + is part of the alphabet and turning it into a space corrupts the data), a phone number in E.164 format, or anything mathematical.

Double encoding

If the output still contains %25 followed by two hex digits, the string was encoded twice — %25 is the escape for the percent sign itself. That happens whenever a value is encoded by application code and then again by a framework. Run it through the tool a second time.

The tell is %2520, which decodes to %20, which decodes to a space.

When decoding fails

A bare % not followed by two hex digits is invalid, and you get its exact position. This normally means the string was truncated, or that a literal percent sign was never escaped as %25 in the first place — a genuine bug in whatever produced it.

Other names for this

Also searched as “urldecode online”, “decode url”, “percent decode”.

Questions

The output still has percent signs in it.
It was encoded twice. Decode again — %2520 becomes %20 becomes a space.
My Base64 value came out with spaces in it.
Turn off “Treat + as a space”. Plus is part of the standard Base64 alphabet.
Does my text leave the browser?
No. Everything runs as JavaScript in this tab — there is no server involved and no request is made. Open the Network panel and watch, or turn your Wi-Fi off and keep using the tool.