Home / Data / URL Encoder & Decoder

URL Encoder & Decoder

Encode a full URL, encode a single component, or decode percent-encoding back to readable text. The three modes exist because encoding the wrong way is one of the web's most common bugs.

Full URL keeps the link's structure intact; Component encodes everything that could break a query value; Decode reverses encoding.

Your result appears here as you type.

Overview

URLs have a restricted alphabet, and anything outside it — spaces, accented letters, emoji, symbols with jobs like ? and & — must be percent-encoded: the %20 you have seen in addresses is a space in disguise. This tool performs that translation in both directions, instantly.

The subtlety is scope. Encoding a whole URL and encoding one query value are different operations, and mixing them up produces the classic double-encoded mess (%2520) or silently broken links. The three modes keep the jobs separate.

Why do spaces become %20?

Because the URL specification reserves certain characters for structure. A space cannot appear raw in an address, so it is replaced by a percent sign followed by its two-digit hexadecimal byte value: %20. Non-English characters become sequences of several such triplets, one per UTF-8 byte.

Then there is the reserved set — characters like ? / & = # that have structural meaning. In a full URL they must be left alone (they are the punctuation of the address); inside a single value they must be encoded (they are just data). That distinction is the entire reason for the Full URL versus Component modes.

Features

Benefits

Who can use it

Developers building links and API calls, marketers assembling tracked campaign URLs, QA engineers testing odd inputs, anyone sharing links containing spaces or non-English text, and students learning how the web addresses things. If you have ever pasted a link and watched it break, start here.

How to use

  1. Pick the mode: Full URL, Component, or Decode.
  2. Paste your URL, value or encoded text.
  3. Read the converted result.
  4. For query strings: encode each value as a Component, then assemble.
  5. Use Decode on any suspicious %XX-laden link to see what it really says.

Frequently asked questions

What is the difference between Full URL and Component?

Full URL mode (encodeURI) leaves structural characters — : / ? # & = — untouched, because they are the punctuation of the address. Component mode (encodeURIComponent) encodes those too, because inside a single value they are just data. Rule of thumb: encoding an address, use Full URL; encoding something that goes inside an address, use Component.

Why do I see %2520 instead of %20?

Double encoding. Something encoded your text twice — the % of %20 got encoded again into %25. It happens when a value is encoded once by your code and again by a library, or when an already-encoded URL is pasted into the encoder. Decode once and you will see the single-encoded form underneath.

Should spaces be %20 or +?

In a URL path, %20. In form submissions (application/x-www-form-urlencoded), spaces become +. They mean the same thing in that context, but mixing them up outside forms causes subtle bugs — when in doubt, %20 is the safer choice.

Why do some characters stay unencoded?

Because they are unreserved: letters, digits, and - _ . ~ never need encoding and are left as-is by every correct encoder. Encoding them anyway is harmless but noisy, which is why the tool follows the standard and leaves them alone.

Is encoding the same as encryption?

No — same family of confusion as Base64. Percent-encoding is fully reversible and standardised; it hides nothing. It exists so URLs survive transport, not so they survive scrutiny.

Conclusion

Encode the whole address one way, its pieces another, and decode to inspect. Three modes, one rule: match the mode to the job.

Related tools

DataBase64 Encoder & DecoderEncode and decode Base64 — and no, it is not encryption. DataRegex TesterTest regular expressions live, with match highlighting. DataMeta Tag GeneratorSEO and social meta tags from one simple form.