How to use the URL encoder
- Choose a mode: Encode, Decode or Parse a URL.
- For encoding, pick Parameter value, Whole URL or Form data. The help text under the options explains each.
- Paste your text and copy the result.
- To inspect a link, choose Parse, paste the full URL, and read the parts and parameters in the tables.
How percent-encoding works
URLs may only contain a limited set of ASCII characters. Everything else, and every character that has a special meaning in the current position, is written as % followed by two hex digits for each byte. Text is first converted to UTF-8, so é becomes the two bytes C3 A9 and is written %C3%A9. An emoji takes four bytes and twelve characters.
The three modes differ in what they leave alone:
- Parameter value keeps only
A–Z a–z 0–9 - _ . ~and encodes everything else. This tool also encodes! ' ( ) *, which RFC 3986 reserves. - Whole URL additionally keeps
: / ? # [ ] @ & = + $ ,so the URL’s structure survives. - Form data is like a parameter value, but writes spaces as
+.
Worked examples
Example 1: a search link
You want to link to a search for Café & Bäckerei: 50% off. Encoded as a parameter value, it becomes Caf%C3%A9%20%26%20B%C3%A4ckerei%3A%2050%25%20off. Without encoding, the & would start a new parameter and the % would be read as the start of an escape.
Example 2: a redirect parameter
Login pages often take a return address: /login?next=https://example.com/a?b=1. The inner URL must be encoded as a value (https%3A%2F%2Fexample.com%2Fa%3Fb%3D1); otherwise its ?b=1 is treated as part of the outer URL.
Example 3: cleaning a shared link
Parse the sample shop URL. The table shows the decoded search term zapatos rojos, the size and two utm_ parameters. The cleaned URL below the tables keeps the search and size but drops the tracking.
Decoding tips
If decoding fails, the error gives the character position of the first broken %. That often means the text was cut off mid-escape or was never encoded. Double-encoded text (%2520 for a space) decodes to %20; decode again to get the space.
Common mistakes
- Encoding a whole URL as a value. You get
https%3A%2F%2F…, which is correct only inside another URL. - Encoding twice. Frameworks often encode for you; adding your own creates
%25sequences. - Using + for spaces in paths.
+means space only in query strings from forms; in paths it’s a literal plus. - Forgetting the fragment. Everything after
#never reaches the server.