URL Encoder/Decoder
Percent-encode text for use in a URL, or decode strings like caf%C3%A9 back to readable text. Paste a full link to see its host, path and every query parameter.
Input
Encoded
Result shows here as you type.
How to encode or decode a URL
- Pick Encode or Decode, then paste your text or link into the box. The result appears as you type.
- Choose Component when you are encoding a single value, such as a search term or a link that goes inside another link. It encodes every reserved character, including / ? & = and #.
- Choose Full URL when you have a whole address with spaces or non-English letters in it. It keeps : / ? & = and # so the link still works, and encodes the rest.
- Tick Use + for spaces for HTML form data. Paste any full URL to see its protocol, host, path and every query parameter decoded in a table, then copy the result. For Base64 instead of percent-encoding, use Base64 Encoder/Decoder.
Frequently asked questions
What is URL encoding?
URL encoding, also called percent-encoding, writes a character as % followed by two hex digits for each of its bytes. The URL standard, RFC 3986, lets letters, digits and - . _ ~ appear as they are; other characters must be encoded wherever they could be misread. A space becomes %20, and é becomes %C3%A9 because it takes two bytes in UTF-8.
Sources: IETF, RFC 3986: URI generic syntax
What does %20 mean in a URL?
%20 is an encoded space. 20 is the hex code of the space character, so a file called my cv.pdf is linked as my%20cv.pdf.
What is the difference between %20 and + for spaces?
Both can stand for a space, but + only means a space in query strings sent by HTML forms, the application/x-www-form-urlencoded format. In a path, + is a plain plus sign. Use %20 unless the other side expects form encoding, and tick Use + for spaces when it does.
Sources: WHATWG, URL Standard: application/x-www-form-urlencoded
Should I encode a component or a full URL?
Use Component for one piece that goes inside a URL, and Full URL for a whole address. Component turns https:// into https%3A%2F%2F, which is right only when that link is itself a parameter, as in ?redirect=. The two options match JavaScript's encodeURIComponent and encodeURI.
Sources: MDN Web Docs, encodeURIComponent()
Why do I get a broken percent sequence error?
Decoding fails when a % is not followed by two hex digits, or when the bytes do not make valid UTF-8 text, such as %E0%A4 cut off from the rest of a Hindi letter. Find the lone % or the cut sequence and fix it, and the result appears.
Is my URL sent anywhere?
No. Encoding, decoding and the URL breakdown all run in your browser. Nothing is uploaded, so links with login tokens or personal details stay on your device.