URL Encoder / Decoder – Percent-Encode Text and Links Online

Convert text into a safe URL format with percent encoding, decode encoded links back into readable text, and see every part and parameter of a URL.

Runs in your browser 100% free No sign-up
Quick answer

URL encoding replaces characters that are not allowed in a URL with % and their UTF-8 bytes in hex: a space becomes %20, & becomes %26 and é becomes %C3%A9. Use “component” mode for values inside a query string and “full URL” mode to keep : / ? & = intact.

How to use URL Encode / Decode

  1. Paste text or a URL into the input box.
  2. Choose “component” to encode everything or “full URL” to keep the structure.
  3. Click “Encode” or “Decode”.
  4. Copy the result.
  5. Check the URL parts table to see each parameter decoded.

What URL encoding does

URLs may only contain a limited set of ASCII characters. Anything else — spaces, accented letters, emoji and characters with a special meaning such as & or ? — must be percent-encoded: each byte of the character’s UTF-8 form is written as % followed by two hexadecimal digits.

CharacterEncoded
space%20
&%26
=%3D
?%3F
/%2F
é%C3%A9
€%E2%82%AC

Component or full URL?

The two modes match JavaScript’s encodeURIComponent and encodeURI:

  • Component encodes everything except letters, digits and - _ . ! ~ * ' ( ). Use it for a single value you put inside a URL, such as a search term or a redirect address in a parameter.
  • Full URL leaves the characters that give a URL its structure (: / ? # & =) untouched and only encodes the rest. Use it to clean up a whole link that contains spaces or non-English characters.

Encoding a whole URL with component mode turns https:// into https%3A%2F%2F — correct if the URL is itself a parameter value, wrong otherwise.

Spaces: %20 or +?

In paths, a space is always %20. In HTML form submissions (application/x-www-form-urlencoded), spaces in the query string are often written as +. The decoder treats + as a space, so both forms decode correctly.

Common uses

  • Building API requests and tracking links with UTM parameters.
  • Reading messy links copied from emails or analytics tools.
  • Debugging redirect loops where a URL was encoded twice (%2520 instead of %20).
  • Sharing links with non-English words, like a Spanish or German page slug.

Privacy

Everything runs in your browser; links with tokens or personal data are not sent anywhere. For other encodings, use the Base64 Encode / Decode tool; to inspect JSON responses from an API, the JSON Formatter helps.

You may also find these free tools useful: JSON Formatter, Password Generator and Regex Tester.

Frequently asked questions

What is URL encoding?

Replacing characters that are not allowed in URLs with % and their hexadecimal byte values, such as %20 for a space.

What is the difference between encodeURI and encodeURIComponent?

encodeURI keeps characters like / ? & = that structure a URL; encodeURIComponent encodes them too, for use inside a single parameter.

How do I decode %20?

Paste the text and click Decode. %20 becomes a space, %26 becomes & and so on.

Why do I see %2520 in a link?

The URL was encoded twice: % itself became %25. Decode it twice to get the original.

Is my data sent to a server?

No. Encoding and decoding happen locally in your browser.

Last updated: