Encode / Decode

URL Encode / Decode

?

About URL encoding

What is URL encoding?
URL encoding (percent-encoding) replaces characters that are unsafe or have special meaning in a URL with a % followed by their hex byte value, e.g. a space becomes %20. It lets arbitrary text be embedded in a URL without breaking its structure.
What's the difference between encodeURI and encodeURIComponent?
encodeURIComponent escapes every reserved character (including / ? & = #), so it is safe for encoding a single value — like a query parameter — that might itself contain those characters. encodeURI leaves URL-structural characters like / ? # & alone, so it is meant for encoding a whole URL rather than one piece of it.
What does + mean in a URL?
Inside a query string, application/x-www-form-urlencoded data (the format HTML forms submit) uses + to represent a space instead of %20. It is a separate, older convention from general percent-encoding and only applies to query strings and form bodies — not path segments.
Which characters get encoded?
Unreserved characters — letters, digits, and - _ . ~ — are never encoded. Everything else is either reserved (has structural meaning in a URL, like / ? & =) or unsafe (spaces, quotes, non-ASCII characters) and gets percent-encoded when it appears outside its structural role.
Does this tool upload my data anywhere?
No. Encoding and decoding happen entirely in your browser using standard Web APIs. Nothing you type or paste ever leaves your device.

Configuration options

Full URI encode
Uses encodeURI/decodeURI instead of encodeURIComponent/decodeURIComponent, so structural characters like / ? # & are left untouched. Use this when encoding a whole URL; leave it off when encoding a single query parameter or path segment.
+ for spaces
Encodes spaces as + instead of %20, and decodes + back to a space — matching the application/x-www-form-urlencoded convention used by HTML form submissions and many query strings.

Convert text to and from percent-encoded URL format.

input chars
0
output chars
0
status
idle