Component or full URL
This is the choice that decides whether the result works, and it’s the one most tools skip.
Component escapes everything that has a meaning inside a URL. Use it for a single value: a search term, a redirect target, a filename in a path.
Full URL assumes the address is already built, and leaves the structural characters alone: : / ? # & =. Use it to tidy an address that contains spaces or accented letters.
| Character | Component | Full URL |
|---|---|---|
| space | %20 |
%20 |
? |
%3F |
kept |
& |
%26 |
kept |
= |
%3D |
kept |
/ |
%2F |
kept |
# |
%23 |
kept |
é |
%C3%A9 |
%C3%A9 |
The rule of thumb: if the text you’re encoding will sit inside a URL, use Component. If the text is the URL, use Full URL.
Characters that never need encoding
A–Z, a–z, 0–9, and - _ . ~ are the unreserved set from the URL standard. They pass through untouched here, and they’re safe to leave as they are anywhere in a URL.
A few others: ! * ( ) ': are legal in a URL but are escaped by some tools and not others. Both forms work; the difference is cosmetic.
Why + sometimes means a space
Long before the modern URL standard, HTML forms encoded a space as +. That convention survives in query strings, so ?q=hello+world and ?q=hello%20world usually mean the same thing to a server.
Two things follow:
- When decoding,
+is ambiguous: it might be a space, or a real plus sign in something like a maths expression or an email address. Leave the option ticked for form data and query strings; untick it when the value is a path segment or a signed token, where a+is meant literally. - When encoding,
%20is the safer default. Use+only for a query value that a form-style endpoint expects.
Double encoding
A value encoded twice is a common bug in redirect chains and analytics links: a space becomes %20, and then that % becomes %25, leaving %2520.
You’ll see it as %25 sitting where a real value should be. Decoding once gives you %20, and this page points that out rather than leaving you to notice. Decode again for the real text. The cure is to encode once, at the point where the value is put into the URL, and never again afterwards.
The parameter breakdown
Paste a URL or a bare query string and the parameters appear in a table, each already decoded. It’s the fastest way to read a long tracking link, check what a redirect is carrying, or find the one parameter that’s malformed. Repeated keys are listed separately, in the order they appear, because that’s how servers usually read them.