URL Encoder & Decoder

Encode or decode URLs, URL components and form-style query strings — instantly, in your browser.

Characters 0
UTF-8 bytes 0

What is URL encoding?

URLs can only contain a limited set of characters. URL encoding (also called percent-encoding) replaces anything outside that set — spaces, accented letters, symbols like & or # — with a % followed by its byte value, so the address can travel safely through browsers, servers and apps without being misread or broken.

Which mode should I use?

  • URL encoding — for a complete address. It leaves structural characters such as : / ? # & = alone so the link still works, and only encodes things like spaces.
  • Component encoding — for a single piece of a URL, such as a search term or a parameter value. It escapes nearly every non-alphanumeric character, including / and &, since those would otherwise be read as part of the URL's structure.
  • Form-style encoding — the same as component encoding, except spaces become + instead of %20. This is the format browsers use when submitting HTML forms.

Frequently asked questions

What's the difference between URL and component encoding?

URL encoding assumes you're encoding a whole address, so it keeps reserved characters like / and : intact. Component encoding assumes you're encoding just one part of a URL, so it escapes those reserved characters too.

Why does a space become %20 in one mode and + in another?

%20 is the general-purpose encoding for a space. The + sign comes from the application/x-www-form-urlencoded format used by HTML forms, which is why form-style encoding uses it instead.

Does this tool send my text anywhere?

No. Everything runs locally in your browser using JavaScript's built-in encoding functions — nothing is uploaded, logged or stored.

What happens if I decode text that isn't valid?

You'll see an error message instead of your text being replaced, so you can correct the input and try again without losing what you typed.