URL Encoder / Decoder

Percent-encode text for URLs and query strings, or decode %20-style strings back to readable text.

🔒 Private: runs in your browser, no upload

How to URL-encode or decode

  1. Paste text or a URL into the input box.
  2. Choose Encode or Decode and the mode: Component for query values, Full URL to keep :/?#& intact, or Form for + spaces.
  3. Copy the result. Use Swap ⇄ to reverse the operation.

Component vs full URL

encodeURIComponent escapes everything except letters, digits and - _ . ! ~ * ' ( ), so it is the right choice for a single query parameter value. encodeURI keeps characters with special meaning in URLs (: / ? # [ ] @ & = + $ ,) so a complete URL still works. Form encoding (application/x-www-form-urlencoded) writes spaces as +.

Frequently asked questions

What does %20 mean?

%20 is the percent-encoded form of a space (byte 0x20). Every non-ASCII character is first converted to UTF-8 bytes, and each byte becomes %XX.

Why does decoding fail?

A lone % or an incomplete sequence like %E2%82 is not valid. Check that the string was copied completely.

Is + a space?

Only in form-encoded data (query strings submitted by HTML forms). Choose “Form” mode to decode + as a space.

Is my data sent anywhere?

No. Encoding and decoding use your browser's built-in functions.

Related converters

See all data & developer tools →