Contact

Tools  /  Encoding  /  URL Encoder / Decoder

URL Encoder / Decoder

Percent-encode and decode URLs and query strings.

What this tool does

Encodes and decodes text for six different situations, not just plain percent-encoding — and when the input is a real URL, shows it broken into its actual parts alongside the encoded result.

Component vs full URL — the mistake a single mode lets you make

Percent-encoding a URL is not one operation. Encoding a single component — a query value, a path segment — should escape everything, including /, :, and ?, because inside that one piece those characters are just data. Encoding a full URL needs the opposite: those same characters have to stay literal, or the URL's own structure breaks. Using the wrong one is a common, quiet bug — encoding a whole URL as if it were one component turns https://example.com/a?b=c into something no longer recognizable as a URL at all. Both modes are available separately here specifically so that mistake does not happen by only having one option.

Beyond percent-encoding

  • Form data — the application/x-www-form-urlencoded convention a browser actually uses for a submitted form, where a space becomes + rather than %20.
  • HTML entities<, >, &, and the rest, for text going into HTML rather than a URL.
  • Base64 and Unicode escapes (\uXXXX) — for the other common places text needs a safe, ASCII-only representation.

Seeing a URL broken into its parts

Paste a complete URL and it is parsed live into its protocol, host, port, path, fragment, and every individual query parameter as a separate key and value — a quick way to check exactly what a long or heavily-encoded URL actually contains before deciding what to do with it.

Privacy

Encoding, decoding, and URL parsing all happen in your browser. Nothing you paste is sent to a server.

Frequently asked questions

Is my data uploaded anywhere?
No. Encoding, decoding, and URL parsing all run locally in the browser — nothing is sent to a server.
What is the difference between "URL component" and "full URL" encoding?
Component encoding escapes everything, including characters like / and ? and :, because it assumes the text is one piece of data going inside a URL, such as a query value. Full URL encoding leaves those same characters alone since they are structural to the URL itself, escaping only what is unsafe elsewhere. Using component encoding on an entire URL breaks it.
Why would form data need a different encoding than a normal URL?
A browser submitting a form uses application/x-www-form-urlencoded, which represents a space as + rather than the %20 that plain percent-encoding produces. Matching that convention matters when the encoded text is going to be read as form data rather than a URL component.
What other encodings does this tool handle besides percent-encoding?
HTML entities, Base64, and Unicode escape sequences (\uXXXX), in addition to the URL component, full URL, and form-data percent-encoding modes -- six modes in total from one tool.
Does it show what a URL is actually made of?
Yes — a valid URL pasted into the input is parsed live into its protocol, host, port, path, fragment, and each individual query parameter as its own key and value, rather than staying one long string to read by eye.
Can I encode or decode a list of values at once?
Yes — a per-line mode processes each line of the input separately with the same chosen encoding, instead of treating the whole block as a single value.
Theme Accent