URL Encoder and Decoder
Percent-encode strings for query params, paths, and full URLs.
What it does
URL encoding, also called percent encoding, replaces characters with percent followed by hexadecimal bytes. It lets spaces, Unicode, punctuation, and reserved characters travel safely through URLs.
The important distinction is scope. A query parameter value should usually use component mode, while a complete URL should use full URL mode so delimiters like colon, slash, question mark, and ampersand keep their structure.
Common uses
- Use component mode for query parameter values, form values, path segments, and redirect targets stored inside another URL.
- Use full URL mode when you need to preserve the structure of a whole URL while escaping spaces and Unicode.
- Decode a value when debugging API calls, OAuth redirects, signed URLs, webhook payloads, or browser network traces.
Watch outs
- Decoding malformed percent escapes such as `%E0%A4%A` will fail because the byte sequence is incomplete.
- Spaces are encoded as `%20` here. Some form encoders use plus signs for spaces in `application/x-www-form-urlencoded` bodies.
- Encoding a whole URL with component mode will also encode its slashes and punctuation, which is correct only when that URL is itself a parameter value.
Privacy
Input stays in your browser. No URL, query string, or decoded value is sent to Crypto Lambda.
FAQ
Should I encode a full URL or only a component?
Encode only the component unless you intentionally need to preserve a whole URL's delimiters. Component mode is the safer default for query values and path segments.
Why are spaces `%20` instead of plus signs?
Percent encoding uses `%20` for spaces. Plus signs for spaces are specific to form encoding, not every URL context.
What does a malformed URI error mean?
It usually means the input contains a percent sign that is not followed by valid hexadecimal bytes, or the bytes do not form valid UTF-8.