What Is URL Encoding?
URLs can only contain a small set of characters. Spaces, accents, emoji and symbols such as &, ? and # have to be written as a percent sign plus two hex digits. A space becomes %20, a colon becomes %3A and the rupee sign becomes %E2%82%B9. This is called percent encoding, and it is defined in RFC 3986.
Decoding does the reverse and turns an unreadable link back into plain text. This tool does both, line by line, and also lays out every part of a URL in a table. It is built for the jobs marketers and developers face every week: checking tracking links, building redirect and share links, and fixing links that were encoded twice.
How to Use the URL Encoder and Decoder
- Choose Decode or Encode at the top of the input box.
- Paste a link or text. Put several on separate lines to process them all at once.
- When decoding, keep Decode every layer ticked to unwrap links that were encoded two or three times, such as
%2520. - When encoding, pick what the text is for: a parameter value, a full URL, or form data.
- Check the URL breakdown under the result, then copy it or use it as the new input.
Which Encoding Should You Use?
| Option | Use it for | What stays as is |
|---|---|---|
| Parameter value | A value after =, such as a URL inside ?url= or a campaign name | Letters, digits and - _ . ! ~ * ' ( ) |
| Full URL | Making a whole link with spaces or accents safe to share | Also : / ? # & = + , ; @ $, and existing %XX codes |
| Form data | Text sent like an HTML form, application/x-www-form-urlencoded | Same as parameter value, but spaces become + |
| Strict RFC 3986 | Signed API requests and systems that reject ! ' ( ) * | Only letters, digits and - _ . ~ |
The parameter and full URL options match the browser functions encodeURIComponent and encodeURI, so the result is exactly what JavaScript would produce. Text is encoded as UTF 8, which is what every modern browser and server expects.
Tips for Clean Links
- Encode once, at the end. Double encoding, where
%20turns into%2520, is the most common reason UTM values look broken in GA4. - Encode the inner URL in redirects. When a link carries another link, such as
?url=https://..., encode the inner URL as a parameter value, or its own&parts will be read as parameters of the outer link. - Keep UTM values lowercase. The breakdown warns you, because analytics treats
Emailandemailas two sources. - Prefer hyphens or underscores to spaces in slugs. A clean slug needs no encoding at all and is easier to read and share.
Build Better URLs
Learn how query strings affect crawling in URL parameters explained, tag campaigns properly with UTM parameters explained, and plan readable paths with URL structure for AI SEO. Building a campaign link from scratch? Use the UTM builder, and check any JSON payload with the JSON formatter and validator.
Frequently Asked Questions
1What does %20 mean in a URL?
%20 is the encoded form of a space. Every special character in a URL is written as a percent sign and two hex digits, so %3A is a colon, %2F is a slash and %26 is an ampersand. Decoding turns them back into normal characters.
2What is double encoding and how do I fix it?
Double encoding happens when already encoded text is encoded again, so %20 becomes %2520. Paste the link here with Decode every layer ticked and the tool unwraps all layers and tells you how many there were.
3Should a space be %20 or +?
In the path of a URL a space must be %20. In a query string or form data, + is also read as a space by most servers. Use the Form data option if a system expects +, and %20 everywhere else.
4What is the difference between encodeURI and encodeURIComponent?
encodeURI keeps the characters that give a URL its structure, such as : / ? & and =, so it is for whole links. encodeURIComponent encodes those too, so it is for a single value placed inside a link, such as a redirect target.