Why URLs need encoding
URLs are only allowed to contain a limited set of characters. Spaces, ampersands, question marks, slashes, and non-English letters all have special meaning or are simply forbidden, so they must be percent-encoded — replaced with a % followed by the character's byte value in hexadecimal. A space becomes %20, an ampersand becomes %26, and so on. Without this, a search query containing “R&D report” would break the link, because the raw ampersand would be read as the start of a new parameter.
Component mode versus full-URL mode
The two modes correspond to the two JavaScript functions encodeURIComponent and encodeURI, and choosing the right one matters. Component mode encodes aggressively, escaping &, ?, /, =, and # as well as spaces. Use it for a single piece of data you are inserting into a URL, such as one query-string value or one path segment. Full-URL mode leaves those structural characters intact so a complete, already-built URL stays functional while spaces and other unsafe characters still get encoded. Picking the wrong mode is a classic bug: component-encoding a whole URL turns its slashes into %2F and breaks it, while full-encoding a value that contains an ampersand lets that ampersand corrupt the query string.
Decoding
Decoding reverses the process, turning %20 back into a space and %C3%A9 back into é. Paste an encoded link from an email, a log file, or a browser address bar and read what it actually points to — useful for debugging redirects, inspecting tracking parameters, or simply making a shared link human-readable. The tool decodes UTF-8 correctly, so international characters come back intact.
Common uses
Developers encode values before building API request URLs, decode webhook payloads, and debug why a link is misbehaving. Marketers decode campaign URLs to read the UTM parameters. Anyone can use it to clean up an ugly, encoded link someone pasted into a chat. Because both fields are live, you can type in either side and immediately see the other.
Privacy notes
All encoding and decoding happens locally in your browser using the built-in URL functions. Nothing you paste — which might include private tokens or internal links — is sent to a server, stored, or logged. The tool works offline once loaded and keeps your data on your device.