URL Encode / Decode
Safely encode query strings and URL components, or decode percent-encoded URLs back to plain text.
About this tool
The URL Encode / Decode tool percent-encodes text so it can be safely placed inside a URL, and decodes percent-encoded URLs back to readable text. Characters that have special meaning in a URL — spaces, ampersands, question marks, slashes and non-ASCII letters — must be escaped as %XX sequences so browsers and servers interpret them as data rather than structure.
It is essential when building query strings, passing values through redirects, constructing API links or debugging why a parameter arrives mangled. Conversion runs locally in your browser, giving you instant, private results for both encoding and decoding.
How to use
- Choose to encode plain text into a URL-safe form, or decode a percent-encoded string.
- Paste your value into the input box.
- Read the encoded or decoded output generated instantly below.
- Pick component encoding for a single query value, or full-URL encoding to preserve structural characters.
- Copy the result with one click into your link, request or code.
Features
- Two-way percent-encoding and decoding.
- Correctly escapes spaces, symbols and non-ASCII (UTF-8) characters.
- Handles both single components and whole URLs.
- Instant conversion as you type or paste.
- One-click copy of the result.
- Runs entirely client-side — your data is never uploaded.
Frequently asked questions
Is my URL or text sent to a server?
No. Encoding and decoding happen locally in your browser, so nothing you paste leaves your device.
What is the difference between encoding a component and a full URL?
Component encoding (like encodeURIComponent) escapes characters such as & ? / = so a value is safe inside a query parameter. Full-URL encoding leaves those structural characters intact so the URL still works as an address.
Why does a space become %20 or +?
In the path and most contexts a space is percent-encoded as %20. In traditional form-encoded query strings a space may appear as +. Both decode back to a space, but they are not interchangeable everywhere.
Does this handle Unicode and emoji?
Yes. Non-ASCII characters are first converted to UTF-8 bytes and then percent-encoded, so accented letters, non-Latin scripts and emoji round-trip correctly.