URL Encode and Decode

Percent-encode text for URLs, or decode %20-style links back to readable text.

Runs in your browser. Your files never leave your device.

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

ModesEncode or decode, component or whole URL
Also handlesSpaces as + for HTML form data
ProcessingIn your browser; your files are not uploaded
PriceFree
Works onChrome, Edge, Safari and Firefox on Windows, Mac, Android and iPhone

How to use URL Encode and Decode

  1. Choose Encode or Decode.
  2. Paste your text or URL. The result updates as you type.
  3. Tick Whole URL to keep the URL structure (: / ? & =) intact, or Spaces as + for form-style encoding.
  4. 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

CharacterEncodedCharacterEncoded
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.

Frequently asked questions

What does %20 mean in a URL?
%20 is an encoded space. URLs cannot contain real spaces, so each one is written as %20 (or + in form data).
Should I encode the whole URL or just the parameter?
Encode only the value you are inserting, such as a search term, in the default mode. Use Whole URL only to clean up a complete link without breaking its structure.
Why do I get an error when decoding?
The text contains a % sign that is not followed by two hexadecimal digits, so it is not valid percent encoding. It may already be decoded, or contain a literal % that should be written as %25.
Does it work with Hindi and emoji?
Yes. Characters are encoded as UTF-8 bytes, which is the web standard, and decode back exactly.