Skip to content

URL Decoder

Percent-encode or decode URLs and query values instantly in your browser — Unicode-safe, with clear errors on malformed input, and nothing uploaded.

Privacy: your files never leave your device. All processing happens locally in your browser.

How to use

  1. 1.Choose a scope: URL component to escape a single query value or path segment (all reserved characters escaped), or Full URL to keep a whole address structure intact and escape only unsafe characters.
  2. 2.Pick a direction — Encode to convert plain text into percent-encoding, or Decode to turn percent-encoded text back into readable characters.
  3. 3.Type or paste your text into the input box; the result updates instantly as you type, and malformed input shows a clear error instead of a broken string.
  4. 4.Click Copy to put the encoded or decoded result on your clipboard, ready to drop into a URL, API request, or code.

About URL Decoder

URL Encoder / Decoder is a free tool that converts text to and from percent-encoding, the format that makes data safe to place inside a web address. It runs entirely in your browser, so whatever you paste never leaves your device: there is no upload, no account, and no server that sees your input. A URL can only contain a limited set of characters. Letters, digits, and a handful of symbols are allowed as-is, but spaces, punctuation, accented letters, Chinese characters, emoji, and reserved characters like the ampersand, equals sign, question mark, and hash all have to be escaped before they can travel safely. Percent-encoding does this by replacing each unsafe character with a percent sign followed by the two-digit hexadecimal value of each of its bytes. Because this tool encodes text as UTF-8 first, multi-byte characters are handled correctly: the word for hello in Chinese becomes six percent groups, and an emoji becomes four, so nothing is corrupted on the round trip back to readable text. This tool offers two modes because there are two different jobs people mean when they say URL encoding. Component mode is for a single piece of a URL, such as one query-string value, one path segment, or a fragment. In this mode every reserved character is escaped, including the ampersand, equals sign, slash, question mark, and hash, so your value can never be mistaken for a delimiter and break the surrounding address. It also escapes a few extra characters that the standard exclamation mark, apostrophe, parentheses, and asterisk that some servers and signing schemes treat specially, giving you a strict, portable result. Full-URL mode is for a complete web address you want to tidy up: it keeps the structural characters that hold a URL together, such as the colon, slashes, question mark, and hash, and only escapes the parts that are genuinely unsafe, like spaces and non-ASCII characters. Decoding is just as careful. When you paste percent-encoded text and decode it, the tool reverses the process and shows you the original readable string. If the input is malformed, for example a stray percent sign, a percent followed by characters that are not valid hexadecimal digits, or a truncated multi-byte sequence, it does not silently hand back a broken string. Instead it stops and tells you exactly what went wrong, so you can fix the source rather than ship corrupted data downstream. Common uses cover the everyday work of building and debugging the web. You might encode a search term or a name that contains spaces and symbols before dropping it into a query string, prepare a redirect or callback URL for an OAuth login flow where the entire address has to be carried inside another parameter, escape values for an API request, decode a link someone shared so you can read the human-friendly text hidden behind all the percent signs, or inspect analytics and tracking parameters to see what they really contain. Developers, testers, marketers, and anyone wrangling links will find it faster than writing a throwaway script. Privacy is the whole point of doing this locally. All processing happens in plain JavaScript inside your own browser, so sensitive tokens, personal data, and internal URLs stay on your machine, the tool keeps working offline once the page has loaded, and there is nothing to sign up for. Paste, pick a mode and a direction, and get an accurate, Unicode-safe result immediately.

Methodology & sources

Encoding uses the browser's built-in encodeURIComponent/encodeURI, with component mode additionally escaping the RFC 3986 sub-delimiter characters !'()* for a strict, portable result. Decoding uses decodeURIComponent/decodeURI and surfaces a clear error on any malformed percent-sequence instead of returning a corrupted string. All text is processed as UTF-8.

Frequently asked questions

What is the difference between URL component and full URL mode?
Component mode encodes a single piece of a URL — one query value, path segment, or fragment — so it escapes every reserved character, including &, =, ?, #, and /, to be sure your value cannot break the surrounding address. Full URL mode is for a complete link: it keeps structural characters like :, /, ?, and # intact and only escapes genuinely unsafe characters such as spaces and non-ASCII letters.
Does it handle emoji, Chinese, and other non-English characters?
Yes. Text is encoded as UTF-8 before percent-encoding, so multi-byte characters are represented by the correct sequence of percent groups and decode back to exactly the same characters. Emoji, accented letters, and CJK text all survive a full round trip without corruption.
Why does decoding sometimes show an error instead of a result?
Because the input is not valid percent-encoding. A lone % sign, a % that is not followed by two hexadecimal digits (like %zz), or a cut-off multi-byte sequence cannot be decoded. Rather than silently return a broken string, the tool stops and tells you the input is malformed so you can fix the source.
Is my text uploaded anywhere?
No. Encoding and decoding happen entirely in your browser using plain JavaScript. Your input never leaves your device — there is no account, no server, and no network request that carries your text anywhere, which makes it safe for tokens, internal URLs, and other sensitive data.

Encoding & Crypto guides

View all