How do I percent-encode or decode a URL?
Paste your text or link into FixDoks's URL Encode/Decode tool and choose Encode or Decode. It replaces unsafe characters such as spaces and Hindi letters with percent codes like %20, or reverses the process. Tick Whole URL to keep slashes and question marks intact, or Spaces as + for form style encoding.
URL Encode / Decode at a glance
| Modes | Encode or decode, component or whole URL |
|---|---|
| Also handles | Spaces as + for HTML form data |
| Processing | In your browser; your files are not uploaded |
| Price | Free |
| Works on | Chrome, Edge, Safari and Firefox on Windows, Mac, Android and iPhone |
How to use URL Encode and Decode
- Choose Encode or Decode.
- Paste your text or URL. The result updates as you type.
- Tick Whole URL to keep the URL structure (: / ? & =) intact, or Spaces as + for form-style encoding.
- Copy the result, or click Swap to reverse it.
What URL encoding does
A URL can only contain a limited set of characters. Spaces, Hindi letters, emoji and symbols such as &, ? and # either are not allowed or have a special meaning. URL encoding (also called percent encoding) replaces each unsafe character with a % sign followed by its byte value in hexadecimal. A space becomes %20, an ampersand becomes %26, and the Hindi word "नमस्ते" becomes a string of %E0%A4... codes, because each Hindi letter takes three bytes in UTF-8.
Component mode vs whole URL
By default the tool encodes everything that is not a letter, digit or one of - _ . ! ~ * ' ( ). This is the right choice for a single value you are putting inside a URL, such as a search term or a redirect address:
https://example.com/search?q= + chai & samosa → chai%20%26%20samosa
If you encoded the whole address that way, the :// and / would be encoded too and the link would break. Tick Whole URL to encode only characters that are never valid in a URL, like spaces and non-English letters, and keep : / ? & = # as they are. Use this to clean up a full link that contains spaces or Hindi text.
Spaces as +
HTML forms send data in a format where spaces become + instead of %20. Tick Spaces as + to produce that format, or to decode it correctly. When decoding, if a URL shows + signs where there should be spaces, turn this option on.
Decoding URLs
Links copied from browsers, emails, UTM-tagged campaigns and log files are often full of %20, %2F and %3D. Paste them in decode mode to read them. Decoding a link twice is a common way to reveal a redirect target hidden inside another link. If the text contains a % that is not followed by two valid hex digits, the tool shows an error instead of guessing.
Common codes
| Character | Encoded | Character | Encoded |
|---|---|---|---|
| space | %20 | & | %26 |
| / | %2F | = | %3D |
| ? | %3F | # | %23 |
| : | %3A | @ | %40 |
| + | %2B | % | %25 |
| ₹ | %E2%82%B9 | " | %22 |
For developers: component mode matches JavaScript's encodeURIComponent, and whole URL mode matches encodeURI. Everything runs in your browser.
Encoding for WhatsApp and UPI links
Links such as https://wa.me/919876543210?text= need the message part encoded, otherwise spaces and line breaks cut the text short. Paste your message in encode mode (component, not whole URL) and add the result after text=. The same applies to the note field in UPI payment links.