URL Encoder & Decoder

Percent-encode text so it is safe inside a URL, or decode %20-style sequences back to readable characters.

✓ Runs locally in your browser — nothing is uploaded

In short: URL encoding (percent-encoding) replaces characters that are unsafe in URLs — spaces, &, ?, non-ASCII letters — with % followed by their UTF-8 byte values, e.g. a space becomes %20.

About URL Encoder & Decoder

URLs can only contain a limited set of ASCII characters. Spaces, accented letters, emoji and characters with special meaning such as &, ? and # must be percent-encoded: each byte becomes % followed by two hex digits. Get it wrong and query parameters split in the wrong place or a link simply breaks.

This tool offers both common modes. Component encoding (like JavaScript’s encodeURIComponent) escapes everything except letters, digits and - _ . ! ~ * ' ( ), which is what you want for a single query value. Full URL mode (like encodeURI) leaves the structural characters alone so an entire address stays usable. Decoding handles UTF-8 sequences and can optionally treat + as a space, as HTML forms do.

How to use URL Encoder & Decoder

  1. Paste the text or URL into the input box.
  2. Choose Component to encode a single value, or Full URL to encode a whole address without breaking its structure.
  3. Press Encode or Decode.
  4. Copy the result. If decoding fails, the input contains a broken % sequence and the message explains it.

Examples

Encoding a search term

café & bar in component mode becomes caf%C3%A9%20%26%20bar, safe to append as ?q=….

Reading a tracking link

Decoding https%3A%2F%2Fexample.com%2Fa%3Fb%3D1 gives https://example.com/a?b=1, revealing where the redirect really goes.

Frequently asked questions

What is the difference between encodeURI and encodeURIComponent?

encodeURI keeps characters that structure a URL (: / ? # & =) so the result is still a working address. encodeURIComponent escapes them too, which is correct for a value that will sit inside a query string.

Why do some URLs use + instead of %20?

HTML forms submitted as application/x-www-form-urlencoded encode spaces as +. In a path, though, + is a literal plus sign. Tick the option only when decoding form-style query strings.

Why does decoding fail with “malformed URI”?

A % must be followed by two hex digits, and multi-byte sequences must form valid UTF-8. A lone % or a truncated sequence causes the error.

Can I split a URL into its parts?

Yes, use the URL Parser to see the protocol, host, path and each query parameter separately.

Updated November 2026 · Free, no signup · How we build and test tools

Related tools All developer tools →