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.