Generators & Utilities

URL Encoder / Decoder

Percent-encode text so it is safe to drop into a URL, or paste an encoded link to decode it back to readable form. Two modes let you encode a single component like a query value or preserve the structure of a full URL. Both fields update live, and everything runs in your browser, so nothing you paste is ever uploaded.

Component mode is for a single query value or path segment. Full URL mode preserves the structural characters of a complete link. Runs entirely in your browser.

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.

FAQ

When should I use component mode versus full-URL mode?

Use component mode for a single query value or path segment, since it escapes &, ?, /, and =. Use full-URL mode for a complete link, since it preserves those structural characters while still encoding spaces.

Why did my URL break after encoding?

You probably component-encoded a whole URL, which turns its slashes and colons into percent codes. For an entire link, use full-URL mode; use component mode only for individual values.

Does it handle non-English characters?

Yes. It encodes and decodes UTF-8 correctly, so accented letters and non-Latin scripts convert to percent codes and back without being corrupted.

What is percent encoding?

It is the method of replacing unsafe URL characters with a % followed by their hexadecimal byte value, such as %20 for a space. It lets any text travel safely inside a URL.

Is anything I paste uploaded?

No. Encoding and decoding run entirely in your browser using built-in functions. Nothing is transmitted or stored, so private links and tokens stay on your device.

More free tools