URL Encoder & Parser

Encode and decode URL components, and break any URL into protocol, host, path, and query parameters.

Plain text
Parse a URL

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.

Your ad could be here

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 %.