Encode and decode URLs instantly. Supports encodeURIComponent, encodeURI, and safe decode with error handling.
| Character | Encoded | Description |
|---|---|---|
| Space | %20 | Whitespace character |
| & | %26 | Ampersand — query parameter separator |
| = | %3D | Equals — key/value separator |
| + | %2B | Plus sign (also used for space in forms) |
| # | %23 | Hash — fragment identifier |
| ? | %3F | Question mark — query string start |
| / | %2F | Forward slash — path separator |
| @ | %40 | At sign — used in emails and auth |
| % | %25 | Percent sign itself |
| : | %3A | Colon — protocol/port separator |
| , | %2C | Comma |
| [ | %5B | Left square bracket |
| ] | %5D | Right square bracket |
URL encoding, also known as percent-encoding, is a mechanism used to convert characters that are not allowed or that have special meaning in a URL into a safe format. The HTTP specification (RFC 3986) defines which characters can appear literally in a URL — only a small set of "unreserved characters" (A–Z, a–z, 0–9, -, _, ., ~) are allowed as-is. Every other character must be encoded as a percent sign (%) followed by two hexadecimal digits representing the character's ASCII or UTF-8 code point.
For example, a space becomes %20, an ampersand (&) becomes %26, and an equals sign (=) becomes %3D. This is critical when passing data through query strings, building API requests, or embedding links in HTML. Without proper encoding, browsers and servers may misinterpret characters like & as parameter separators or # as a fragment identifier, breaking your URLs and causing data loss or security issues.
Results update automatically as you type with a 300 ms debounce so you never have to click encode manually.
Choose between encodeURIComponent (full encoding) and encodeURI (structure-preserving) to match your exact use case.
Invalid encoded strings are caught gracefully with a clear error message instead of crashing the page.
Copy any output directly to your clipboard with a single button click — no manual selection needed.
Built-in character reference shows the most common URL encodings so you can look up values at a glance.
All processing happens in your browser using native JavaScript. Nothing is ever sent to a server.