URL Encoder & Decoder
Percent-encode or decode URLs without anything leaving your browser. Pick component or whole-URL encoding, undo double-encoding, or parse a URL into editable parts with a live query-string table.
: / ? # too; Whole URL leaves them intact. Nothing saved yet. Your recent inputs appear here — stored only in this browser, never uploaded.
Your data never leaves your browser
Encoding, decoding and URL parsing all run on this page with the browser's native APIs — no request carries your text or URLs, and nothing is logged.
How it works
Three steps, no surprises
Pick a mode
Encode text for a URL, decode a percent-encoded string, or parse a whole URL into its parts.
Tune it
Choose component vs whole-URL encoding, peel off a double-encoded layer, or edit the query-string table.
Copy, download or share
Copy the result, download it, or grab a share link that carries your input in the URL — never on a server.
FAQ
URL Encoder & Decoder questions, answered
What’s the difference between encodeURI and encodeURIComponent?
encodeURI is meant for an entire URL, so it leaves the characters that have structural meaning — : / ? # [ ] @ & = + $ , — untouched. encodeURIComponent is meant for a single piece of a URL, such as one query-string value, so it encodes those characters too. Rule of thumb: use encodeURIComponent for individual values you are slotting into a URL, and encodeURI only when you have a whole URL you want to make safe without breaking its structure.
When do I need to URL-encode?
Whenever a value placed in a URL contains characters outside the unreserved set — letters, digits and - _ . ~ — or any character that is reserved for URL structure. Spaces, ampersands, question marks, equals signs, slashes, plus signs and non-ASCII text all need encoding when they appear inside a path segment or query value, otherwise they change how the URL is parsed or break it entirely.
Why are my Chinese characters showing as %E4%B8%AD%E6%96%87?
That is correct, expected output. URLs can only contain ASCII, so non-ASCII text is first converted to UTF-8 bytes and each byte is written as a %XX percent-escape. 中文 becomes %E4%B8%AD%E6%96%87. When the URL is decoded, those bytes are reassembled back into the original characters. Decode mode reverses the process and shows you the readable text.
What is “double encoding” and why is it a problem?
Double encoding happens when an already-encoded string is encoded again, so a space (%20) becomes %2520 — the % itself gets encoded to %25. It usually creeps in when a value is encoded at two layers of a system that each assume the other did not. The result is a URL that decodes to gibberish or to a still-encoded string. Decode mode offers a “Decode twice” toggle to peel off both layers, and the tool warns when input looks double-encoded.
How do I add a query parameter to an existing URL using your parser?
Switch to Parse URL mode and paste your URL. The query parameters appear as an editable key/value table; use the add-row button to append a new parameter, type the key and value, and the reassembled URL at the bottom updates live with correct encoding applied. You can also edit or remove existing rows, change the path, host or fragment, then copy the result.
Is the URL sent anywhere when I parse it?
No. Parsing uses the browser’s native URL API on the page itself — there is no server round-trip and nothing is logged. Encoding, decoding and parsing all run locally, so the URLs you work with never leave your device.
Other free developer tools
Every one runs in your browser. No signup, no upload, no ads.
Need help with your website's SEO?
Book a free consultation with our London team.
Book a Free Consultation