Developer
URL encoder / decoder
Encode special characters in a URL (spaces, accents, ?, &, #…) or decode them. Based on encodeURIComponent.
Uses encodeURIComponent (every reserved character is encoded except letters, digits and - _ . ~).
How to use this tool
URLs can't contain certain characters (spaces, accents, {}, <>, etc.) without percent-encoding. Encoding turns "hello world?" into "hello%20world%3F". Useful to build URLs manually, debug a request, understand a GET parameter, or paste an accented link into a strict system.
Concrete examples
- "hello world" → "hello%20world"
- "café & tea" → "caf%C3%A9%20%26%20tea"
- "?q=search" → "%3Fq%3Dsearch"
Frequently asked questions
- encodeURI vs encodeURIComponent?
- encodeURI preserves URL-reserved characters (:/?#&=); encodeURIComponent encodes them all. Use encodeURIComponent (this tool) for a parameter value, encodeURI for a full URL.
- Why %20 not + for space?
- In modern URLs (RFC 3986), a space encodes to %20. + is an older convention from HTML forms. Both may appear in the wild.