URL Encode / Decode
Processed Client SidePercent-encode URLs and query parameters, or decode them back to plain text.
Bookmark this tool now — skip the search next time you need it.
About URL Encode / Decode
This tool runs entirely in your browser. Whatever you paste is processed on your own device and is never uploaded, logged, or sent to any server.
Percent-encode text so it can travel safely inside a URL, and decode percent-encoded strings back into readable text. URLs may only contain a limited set of characters, so spaces, ampersands, question marks, slashes, and anything non-ASCII have to be rewritten as percent escapes such as %20 or %26. The tool offers both encoding scopes the web platform defines: Component mode escapes everything that is not safe inside a single query parameter or path segment, while Full URI mode leaves the structural characters of a URL — the slashes, the question mark, the ampersands — intact so you can encode a complete address without destroying it.
Key features
- Encode and decode percent-encoding in both directions
- Component scope, equivalent to encodeURIComponent — escapes & = ? / # and spaces, for values going inside a query string
- Full URI scope, equivalent to encodeURI — preserves the structure of a complete URL while escaping unsafe characters
- Correct UTF-8 handling, so non-Latin scripts and emoji encode to multi-byte escapes and decode back cleanly
- Live conversion as you type, with a clear error state for malformed input
- Detects invalid escape sequences on decode rather than silently producing garbage
- One-click copy of the result
- Runs entirely client-side — query strings containing tokens or personal data stay in your browser
How to use it
- Pick Encode or Decode.
- Paste your text or URL into the input pane.
- When encoding, choose the scope: Component for a single parameter value, Full URI for a whole address.
- Read the result in the output pane — it updates as you type.
- Click Copy output to use it.
Tips & common mistakes
- Use Component for anything you are putting after an = in a query string. Full URI will leave & and = unescaped, which lets a value containing them break out and forge extra parameters.
- A space becomes %20 in a path and may appear as + in a form-encoded query string. The two are not interchangeable: decoding a + as a space is only correct for application/x-www-form-urlencoded bodies.
- Seeing %2520 in a URL means it was encoded twice — %20 was itself encoded, turning the % into %25. Decode it twice to recover the original.
- Encode the value, not the whole URL, when building links in code. Encoding the assembled URL is what produces broken query strings.
- Decoding fails on a lone % that is not followed by two hex digits. If your input came from a log file, a truncated line is the usual cause.
- Non-ASCII characters produce several escapes each because UTF-8 encodes them as multiple bytes — an accented letter becoming %C3%A9 is correct, not a bug.