Free Tool · In-Browser · No Upload

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.

100% free no signup Zero data uploaded No ads or trackers
Encode as
Component encodes : / ? # too; Whole URL leaves them intact.
Input
Output
Try an example:
Recent on this device

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

1

Pick a mode

Encode text for a URL, decode a percent-encoded string, or parse a whole URL into its parts.

2

Tune it

Choose component vs whole-URL encoding, peel off a double-encoded layer, or edit the query-string table.

3

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.

Need help with your website's SEO?

Book a free consultation with our London team.

Book a Free Consultation