URL Encoder / Decoder

Percent-encode or decode a URL or a single URL component, live as you type. Nothing you type is sent anywhere.

Component vs full URI

They encode different characters.

Component encoding escapes everything that isn't safe inside a single URL segment, including &, =, and ?, use it for a query parameter value. Full URI encoding leaves those characters alone since they're structurally meaningful in a complete URL, use it when encoding an entire address rather than one piece of it.

Why encode a URL at all

URLs can only contain a limited set of ASCII characters. Spaces, accented letters, emoji, and reserved symbols like & or # need to be percent-encoded (like %20 for a space) so they survive being passed around as part of a link without breaking it.

Common questions

What's the difference between component and full URI encoding?

Component encoding (encodeURIComponent) escapes every character that isn't safe inside one piece of a URL, including &, =, and ?, the right choice for a query parameter value. Full URI encoding (encodeURI) leaves those structural characters alone since they have meaning in a complete address, use it when encoding a whole URL rather than one part of it.

Why does a space become %20 or +?

Spaces aren't valid in a URL, so they get percent-encoded as %20. Some older systems (particularly form submissions) use + instead of %20 inside query strings specifically, both mean the same thing in that context, which is why decode mode here treats + as a space.

Does this upload my text anywhere?

No. Encoding and decoding happen entirely in your browser using built-in JavaScript functions. Nothing you type is sent anywhere.