Home · Tools · URL Encoder / Decoder

URL Encoder / Decoder

Percent-encode or decode URLs and components.

Input
Output

URL encoder and decoder for query strings, paths, and parameters

Percent-encode strings for use in URLs, or decode percent-encoded strings back to their original form. Toggle between encodeURIComponent (encodes ?&=#, used for query parameter values) and encodeURI (preserves URL-reserved characters, used for whole URLs).

Which one to use

Common gotchas

Spaces become %20 in URL paths but + in application/x-www-form-urlencoded form bodies — these are different encoding standards. This tool produces %20, matching the JavaScript built-ins. If your backend expects +-encoded form data, replace %20 with + after encoding.

Double-encoding is the most common bug: passing an already-encoded value to encodeURIComponent turns %20 into %2520. If your URL looks like that, decode once first.

Privacy

Runs entirely in your browser via native encodeURIComponent/decodeURIComponent. No network requests.

Related tools

FAQ

What's the difference between encodeURI and encodeURIComponent?
encodeURI leaves URL syntax characters (?, #, /, &, =) alone — for whole URLs. encodeURIComponent encodes them — for individual values that go inside a URL.
Why is my decoded text showing %20 still?
You probably double-encoded. Decode it twice, or check whatever produced the value.
Does it handle Unicode?
Yes. Native encodeURIComponent handles UTF-8 correctly out of the box.