URL Encoder
Percent-encode any string for safe URL use. See the before/after side by side.
How it works
URL encoding — also called percent-encoding — replaces unsafe characters with a % followed by two hexadecimal digits representing the byte value. Spaces become %20, ampersands become %26, and non-ASCII characters like emoji or accented letters are first encoded as UTF-8 bytes, then each byte is percent-encoded.
This is essential when building query strings, form data, or any URL that contains user input. Without encoding, characters like &, =, #, and ? are interpreted as URL delimiters rather than literal content, which breaks the URL or creates security vulnerabilities.
This tool shows a side-by-side comparison of your original text and the encoded version, along with a character count for each. The difference in length tells you exactly how much overhead the encoding adds — useful when you are working within URL length limits (roughly 2,000 characters for most browsers, 8,192 for most servers).
The encoding runs entirely in your browser using the built-in encodeURIComponent function augmented by the Bytario core library for edge cases. No data is sent to any server.
FAQ
What is the difference between encodeURI and encodeURIComponent?
encodeURI encodes a full URL but leaves reserved characters like :, /, ?, and # intact. encodeURIComponent encodes everything except unreserved characters — this is what you need for query parameter values.
Do I need to URL-encode spaces as %20 or +?
In URL paths, spaces must be %20. In application/x-www-form-urlencoded form data, spaces are +. This tool uses %20 by default, which is safe everywhere.
Is URL encoding the same as HTML encoding?
No. URL encoding converts characters to %XX hex sequences for URLs. HTML encoding converts characters to entities like & for safe display in HTML. They solve different problems and are not interchangeable.