URL Encoder & Decoder
Percent-encode text for safe use in a URL or query string, or decode an already-encoded URL back to readable text.
How to use the URL encoder/decoder
- Paste a piece of text, a single query value, or a full URL into the box.
- Click "Encode" to percent-encode reserved characters (spaces, &, ?, #, =, and non-ASCII characters), or "Decode" to reverse an encoded string back to plain text.
- If you're building a query string, encode each parameter value individually rather than the whole URL — encoding the full URL would also escape the slashes and colons that need to stay literal.
- Copy the result with the Copy button.
Why use a URL encoder?
URLs can only safely contain a limited set of characters. Spaces, ampersands, question marks, and non-ASCII text (like emoji or accented letters) all need to be percent-encoded before they can be embedded in a link or query string, otherwise the URL breaks or gets misinterpreted. This tool uses JavaScript's built-in encodeURIComponent and decodeURIComponent to handle a single value or component correctly, which is what you want for query parameters — it won't mangle a full URL's structural characters if you only encode the parts that need it. Everything runs locally, so nothing you paste is logged or transmitted.
What's the difference between encoding a URL and a query parameter?
This tool percent-encodes reserved characters like spaces, &, ?, and = so a single value can be safely dropped into a query string. If you're encoding a full URL that already has its own structure, only encode the individual parameter values, not the slashes and colons that make up the URL itself.
What happens if I decode text that isn't URL-encoded?
If the text contains an invalid percent-sequence, you'll see a clear error message instead of a crash or garbled output. Plain text with no percent-encoding just decodes back to itself unchanged.
Is my data sent anywhere when I use this tool?
No. Encoding and decoding happen entirely in your browser with JavaScript's built-in functions. Nothing is uploaded or logged.