URL Encoder / Decoder
Percent-encode special characters for use in URLs, or decode an encoded URL back to something readable.
Full URL or component — they are not the same
This is the distinction that breaks most links. Encoding a whole URL leaves the structural characters alone: : / ? & = and # have to survive or the address stops being an address. Encoding a component — one query-string value, one path segment — escapes those same characters, because inside a value they are data rather than structure.
Use Encode Component when you are building ?q= from user input. Use Encode Full URL when you have a complete address containing spaces or accented characters. Getting this backwards is why a search link works until someone types an ampersand.
Why encoding locally matters
Query strings routinely carry tokens, session identifiers and email addresses. A URL you paste into a server-side encoder ends up in that server's access log in full, including the parts you were about to redact. Here the transformation uses the browser's built-in encodeURIComponent, and nothing is sent.
Common questions
What is the difference between encodeURI and encodeURIComponent?
encodeURI preserves the characters that give a URL its structure, so it is for whole addresses. encodeURIComponent escapes them too, so it is for individual query values or path segments.
Why does a space become %20 sometimes and + other times?
%20 is correct percent-encoding. The + form comes from HTML form submission, which uses application/x-www-form-urlencoded. Both appear in the wild; decoders should handle each.
Does this tool send my URL anywhere?
No. Encoding and decoding happen in the page with the browser's own functions.