URL Encoder & Parser
Encode and decode URL components, and break any URL into protocol, host, path, and query parameters.
About the URL Encoder & Parser
URLs can only contain a limited set of characters, so everything else (spaces, unicode, symbols like & and #) must be percent encoded before it goes into one. This tool encodes and decodes that representation, and parses any URL into its parts: protocol, host, port, path, hash, and each query parameter on its own row.
The encode mode has two behaviors because URLs have two kinds of content. Component encoding (the default) escapes everything special, which is what you want for a single query parameter value. Full URL encoding preserves the characters that give a URL its structure (:, /, ?, &) and only escapes what is truly invalid, which is what you want when encoding a complete address.
Common uses: building redirect URLs that contain other URLs, debugging why a query parameter arrives mangled, reading tracking links, and pulling the actual destination out of a wrapped link. Everything runs in your browser.
Reach developers and designers who use these tools every day. Privacy-first, no trackers.
Frequently asked questions
When do I encode a component vs a full URL?
Encoding a value that goes inside a URL (like one query parameter) needs component encoding, which escapes & ? / and friends. Encoding a whole URL needs the gentler full URL mode, or the structure itself would be escaped and broken.
Why does my decoded text contain + instead of spaces?
Form submissions historically encode spaces as + while the URL standard uses %20. Decoding does not convert + to space because + is a legal character. If your text comes from a form query string, replace + with spaces first.
Why do I get a decode error?
A % in percent encoded text must be followed by two hex digits. A bare % (common in text that was never encoded, like "50% off") makes decoding fail. Encode such text first, or remove the stray %.