URL Encoder and Decoder
Percent-encode text so it can go safely into a URL or query string, or decode an encoded URL back to readable text. Paste a full link and the tool also lists its host, path and every query parameter.
Encode or decode a URL
How URL encoding works
URLs may only contain a limited set of ASCII characters (RFC 3986). Any other character is converted to its UTF-8 bytes, and each byte is written as % followed by two hexadecimal digits. For example, a space becomes %20 and “é” becomes %C3%A9.
Common encoded characters
| Character | Encoded | Character | Encoded |
|---|---|---|---|
| space | %20 (or + in forms) | & | %26 |
/ | %2F | = | %3D |
? | %3F | # | %23 |
: | %3A | + | %2B |
@ | %40 | % | %25 |
Value or full URL?
Use Encode a value for anything you place inside a URL, such as a search term or a redirect address in a parameter; it encodes / ? & = # too, matching JavaScript’s encodeURIComponent. Use Encode a full URL to clean up a complete link that contains spaces or non-English characters while keeping its structure, like encodeURI.
Frequently asked questions
Should a space be %20 or +?
Both mean a space in a query string submitted by an HTML form (application/x-www-form-urlencoded). In the path part of a URL, only %20 is correct.
Why does decoding fail?
A % sign that isn’t followed by two hex digits, or a byte sequence that isn’t valid UTF-8, can’t be decoded. Encode a literal % as %25.
Is anything sent to a server?
No, everything runs in your browser.
