URL Encode/Decode
Encode and decode text for use in URLs.
About this tool
URL Encoding (also called percent-encoding) replaces special characters in a URL with a `%XX` sequence, where XX is the hexadecimal code of the character. This is necessary because the URL specification allows only a limited subset of ASCII characters, and anything else — including spaces, accented letters, ampersands and slashes — must be escaped before it can be safely included in an address or query string.
To use the tool, select **Encode** mode and paste the text you want to turn into a safe URL fragment. The result appears immediately. To go the other way, switch to **Decode** mode, paste a percent-encoded string, and recover the human-readable original.
Typical situations where this tool helps include: manually building query strings with parameters containing special characters (`?name=John+Doe`), debugging URLs copied from server logs, encoding payloads before embedding them in email links, integrating with REST APIs that return encoded fields, and analyzing redirect URLs with nested parameters.
The conversion uses the browser's native `encodeURIComponent` and `decodeURIComponent`. All processing is local, with no communication with external servers and no sign-up required.
Frequently asked questions
Is the tool free?
Yes, completely free with no restrictions.
Is my data sent to a server?
No. All encoding and decoding happens in your own browser. No text leaves your device.
Does it work on mobile?
Yes, on any modern browser for Android or iOS.
What is the difference between encodeURI and encodeURIComponent?
encodeURI preserves structural URL characters like /, ?, # and &, while encodeURIComponent encodes them too. This tool uses encodeURIComponent, which is appropriate for encoding individual parameter values.
Why does space become %20 and not +?
Both %20 and + represent a space, but in different contexts. %20 is the RFC 3986 standard for generic URLs. The + sign only represents a space inside query strings in the application/x-www-form-urlencoded format.