Chris Collins

Tools · encoding

URL encoder, decoder, and parser

Percent-encode and decode text four ways, untangle double-encoded strings, and pull a URL apart into editable parts and query parameters.

Added

How to use it

Encode / decode converts as you type. Pick the mode that matches where the text is going:

  • Component for one value inside a URL (a query value or a path segment).

  • Full URI for a whole URL — reserved characters such as : / ? # & = are kept.

  • Form for application/x-www-form-urlencoded bodies, where spaces become +.

  • Every byte to percent-encode every UTF-8 byte, letters included.

Auto decodes when the input looks encoded and encodes otherwise. If a string was encoded more than once, every decoding stage is listed. Malformed escapes are reported with their position.

Parse & edit URL splits a URL into scheme, credentials, host (with internationalised domain names shown in both Punycode and Unicode), port, path segments, query, and fragment. Query parameters are an editable table — change, reorder, duplicate, add, or delete them and the URL is rebuilt live. Strip tracking params removes utm_*, fbclid, gclid and friends.

Build URL assembles a URL from parts, encoding each path segment and query value for you. Query ↔ JSON converts in both directions (repeated keys become arrays), and Base64URL & data: handles JWT-style Base64URL and data: URLs, with an image preview.

Sharing

Share link copies a URL that opens this tool exactly as you have it. Hand-written links work too: Encode/decode ?in=…&mode=component&dir=decode&plus=0, Parse ?url=…, Build ?scheme=https:&host=…&path=…&params=…&hash=…, Query ↔ JSON ?qs=…, Base64URL ?b64=…&data=…&mime=…&db64=1. Passwords in URLs (and the builder’s password field) are left out of links. For example ?url=https%3A%2F%2Fexample.com%2Fa%3Fx%3D1%26y%3D2%23top#parse.

Runs entirely in your browser; nothing you type leaves this page.