What it does
Percent-encoding replaces characters that are not allowed in a URL with %XX bytes. Which characters get escaped depends on where the text goes, so the encoder offers the three rules developers actually use:
- Component (
encodeURIComponent): for one query value or path segment. Escapes&,=,/,?and#. - Full URL (
encodeURI): keeps the URL structure and only escapes spaces, non-ASCII and unsafe characters. - RFC 3986: also escapes
! ' ( ) *, as required by OAuth 1.0 and AWS request signing. - Space as + switches to HTML form encoding (
application/x-www-form-urlencoded) in both directions.
The decoder never gives up on bad input. An unescaped % or a byte sequence that is not valid UTF-8 is reported with its exact position and kept as-is, and text that was encoded twice is detected.
URL parser
Paste a URL to see its protocol, host, port (including the default), path, query and fragment, each with a copy button. Query parameters are listed in a table with decoded keys and values, repeated keys are flagged, and the whole set can be copied as JSON. Parameters in the fragment (#/route?tab=2), common in single-page apps, get their own table.
How to use it
Choose Encode or Decode and type: the output updates as you go. Swap feeds the result back in; Parse URL sends it to the parser.
Privacy
Everything runs in your browser and nothing is sent anywhere. Your last input and URL are kept in local storage; Clear removes them.