URL Encoder / Decoder

Percent-encode or decode text and URLs, with a query-param breakdown.

Loading the interactive tool… It runs in your browser — if it doesn't appear, enable JavaScript.

Percent-encode text for safe inclusion in URLs, or decode an encoded mess back to readable text. The mode toggle matters: component encoding escapes everything reserved (right for a value going into ?q=…), while whole-URL mode preserves the URL's own structure. Paste a full URL and the query parameters are also broken out into a readable table — often the actual goal.

Frequently asked questions

encodeURIComponent or encodeURI — which do I want?

Component (the default here) for values being inserted into a URL — search terms, redirect targets, anything user-supplied. Whole-URL mode only when you have a complete URL whose structure must survive, like one containing spaces.

Why does + sometimes mean a space?

HTML form encoding historically encodes spaces as +, while percent-encoding uses %20. The decoder here treats + as a space, matching what you see in real query strings.

Why is my redirect URL double-encoded (%2520)?

It was encoded twice — %20 became %25 20. Decode twice to recover it, and find the code path that encodes an already-encoded value.