03 / DEVELOPER
URL Encoder
Encode and decode URLs using either encodeURI or encodeURIComponent semantics, and split a URL's query string into a readable key/value table.
How to use
- 1Pick a mode: Encode or Decode.
- 2Choose Component (encodeURIComponent — escapes everything that isn't unreserved) or Whole URI (encodeURI — keeps URL structure).
- 3Paste your input. The output panel updates as you type.
- 4If your input is a full URL, the Query parameters table below splits ?key=value pairs for easy reading.
Frequently asked questions
What's the difference between encodeURI and encodeURIComponent?
encodeURI assumes you're escaping a whole URL — it leaves ':/?#&' alone so the URL stays valid. encodeURIComponent escapes those too, which is what you want for query-string values or path segments.
Why are duplicate query keys preserved?
URLs allow repeated keys (e.g. ?tag=a&tag=b), and many APIs rely on this. We keep each entry as a separate row instead of collapsing duplicates.
Does decoding handle '+' as a space?
Only inside the query parsing table, where 'application/x-www-form-urlencoded' rules apply. The plain decode mode follows strict percent-decoding (so '+' stays as '+').
What if the input has a malformed escape like %ZZ?
Decoding refuses to silently corrupt your data — you'll see a clear error and the offending position so you can fix it.
Is anything sent to a server?
No. Encoding, decoding and query parsing all run in your browser, with zero network calls.