Encode text so it’s safe inside a web address (a space becomes %20), decode it back, or paste a whole URL to see its parts and every query parameter, decoded.
Encode a single value (a search term, a parameter) as a component: everything except letters, digits and - _ . ! ~ * ' ( ) is encoded. Tick Keep : / ? & = to encode a whole URL without breaking its structure.
| Text | Component | Whole URL |
|---|---|---|
Tom & Jo | Tom%20%26%20Jo | Tom%20&%20Jo |
a/b?c=d | a%2Fb%3Fc%3Dd | a/b?c=d |
café | caf%C3%A9 | caf%C3%A9 |
50% off | 50%25%20off | 50%25%20off |
https://x.com/a b?q=1&r=é | https%3A%2F%2Fx.com%2Fa%20b%3Fq%3D1%26r%3D%C3%A9 | https://x.com/a%20b?q=1&r=%C3%A9 |
Both mean a space in a query string: + comes from HTML forms, %20 from everywhere else. In a path, only %20 is a space; + is a plus. When decoding, tick Read + as a space for form data.
Replacing characters that have a meaning in URLs, or aren’t allowed in them, with % and two hex digits: a space is %20, & is %26, é is %C3%A9 (its two UTF-8 bytes).
A % must be followed by two hex digits. A lone % (as in "50%") or a broken sequence can’t be decoded; encode the original text instead.
No. Encoding, decoding and parsing all happen in your browser.
Open all 35 Dev Tools. Everything runs in your browser; nothing you paste is uploaded.