BYTETOOLS

URL Decoder

Decode percent-encoded URLs back to readable text instantly. Optional '+ as space' handling for query strings and clear errors for malformed input.

What is the URL Decoder?

The ByteTools URL Decoder turns percent-encoded strings back into readable text: %20 becomes a space, %C3%A9 becomes é, and %2F becomes a slash.

  • Instant decoding of %XX percent-escapes
  • Optional + to space conversion for form data
  • Clear error message for malformed % sequences
  • UTF-8 aware — multibyte characters decode correctly
  • Copy the result in one click
  • Private — runs fully in your browser

How to use the URL Decoder

  1. 1

    Paste the encoded URL or string into the input box.

  2. 2

    Enable 'Treat + as space' if the text came from a form-encoded query string.

  3. 3

    Read the decoded output live below the input.

  4. 4

    Click Copy to grab the readable text.

About the URL Decoder

The ByteTools URL Decoder turns percent-encoded strings back into readable text: %20 becomes a space, %C3%A9 becomes é, and %2F becomes a slash. Paste any encoded URL, query string or log entry and read it instantly.

Query strings produced by HTML forms encode spaces as + instead of %20. Toggle the 'Treat + as space' option to handle those correctly. Malformed input — like a stray % not followed by two hex digits — shows a clear error message instead of crashing or producing junk.

Decoding is done entirely in your browser with JavaScript. URLs containing session tokens, email addresses or tracking parameters never leave your device.

Frequently asked questions

What does %20 mean in a URL?

%20 is the percent-encoded form of a space character. URLs cannot contain literal spaces, so browsers and servers replace each space with %20 (or + in form-encoded query strings). Decoding turns them back into normal spaces.

Why do I get an error like 'URI malformed' when decoding?

A % in the string must be followed by exactly two hexadecimal digits. If it isn't — for example a literal percent sign that was never encoded, or an escape truncated mid-sequence — decodeURIComponent throws. This tool catches that and tells you the input is invalid.

Should + be decoded as a space?

Only in application/x-www-form-urlencoded data, such as query strings submitted by HTML forms. In a URL path, + is a literal plus sign. That's why the option is a toggle — enable it for query strings, disable it for paths.

Can I decode a URL that was encoded twice?

Yes — run the output through the decoder again. Double encoding (where % itself becomes %25) is a common bug; if your decoded text still contains %XX sequences, decode once more to fully unwrap it.

Is my URL sent anywhere when I decode it?

No. Decoding happens locally in your browser using JavaScript's decodeURIComponent. Tokens, emails or private parameters in the URL are never transmitted or stored.

Guides for URL Decoder

Related tools