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-urlencodedbodies, 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=…¶ms=…&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.
Feedback is a gift. Something to improve, a feature to add, or a bug? Tell me.
Runs entirely in your browser; nothing you type leaves this page.