URL Encode / Decode

Percent-encode or decode URLs and query string parameters.

100% Free · No Sign-up · Runs in Your Browser

About the URL Encode / Decode

URL encoding (percent-encoding) converts characters that aren't allowed or that have special meaning in a URL — like spaces, ampersands, and non-Latin characters — into a safe %XX representation. This tool encodes plain text into a URL-safe string, or decodes an already-encoded URL back into readable text, which is essential whenever you're building links, query strings, or working with APIs.

This tool is useful for developers building query strings with dynamic values, digital marketers constructing UTM tracking links containing spaces or special characters, and anyone debugging a URL that looks like a garbled string of percent signs and hex codes. Because encoding rules differ slightly depending on context, this tool offers both encodeURIComponent-style encoding (safe for individual query parameter values) and encodeURI-style encoding (safe for full URLs where characters like / and : must be preserved).

To use it, paste your text or URL into the input box, choose Encode or Decode, and pick the mode (Component or Full URL). The result updates instantly. For example, encoding the text "hello world & friends" in Component mode produces "hello%20world%20%26%20friends", correctly escaping the space and ampersand so they won't be misinterpreted as query string separators.

A very common real-world case is building a search or redirect URL like https://example.com/search?q=coffee%20%26%20tea — here the space and ampersand inside the search term had to be percent-encoded so the query string parser doesn't treat them as separate parameters. Decoding that same string back returns "coffee & tea" exactly.

A frequent mistake is encoding an entire URL with encodeURIComponent, which would also escape the protocol slashes and colon (turning https:// into https%3A%2F%2F) — breaking the link entirely. Use Full URL mode only on complete URLs, and Component mode only on individual parameter values that will be inserted into a query string. Another common issue is double-encoding — running an already-encoded string through the encoder again, which produces %2520 instead of %20; if your decoded output still contains percent signs, try decoding it a second time.

Tip: when passing user-generated text (like search terms or file names) as part of a URL, always encode just that value with Component mode before concatenating it into the full URL, rather than encoding the whole URL at once.

Frequently Asked Questions

Q.What's the difference between Component and Full URL encoding?

Component mode (encodeURIComponent) escapes nearly everything including / and &, ideal for individual query values. Full URL mode preserves URL structure characters like :// and only encodes unsafe characters.

Q.Why does my decoded text still have % symbols?

Your input may have been encoded twice. Try running it through the decoder a second time to fully reverse double-encoding.

Q.Does it handle non-English characters?

Yes, Unicode characters like Arabic or Chinese text are correctly percent-encoded as UTF-8 byte sequences.

Q.Can I use this for encoding a whole link, not just a parameter?

Yes, switch to Full URL mode, which preserves protocol and path separators while still encoding unsafe characters like spaces.

Q.Is + the same as %20 for spaces?

In query strings, + traditionally also represents a space (form encoding), but this tool uses the standard %20 percent-encoding, which is safe and universally understood.

Related Tools