Percent-encode text for safe use in a URL, or decode an escaped URL back into readable text — with separate modes for whole URLs and single values.
Add your file
Drop your file into the box above or click to browse. It's processed privately in your browser — nothing is uploaded.
Choose your options
Adjust the available settings to get exactly the result you need.
Download the result
Run the tool and download your file instantly — no sign-up, no watermark.
URLs have a grammar. Slashes separate path segments, question marks start a query, ampersands separate parameters and hashes begin a fragment. Percent-encoding is how you put a value into a URL without those characters being read as structure — so a search for "cats & dogs" does not accidentally create a second query parameter.
The distinction between encoding a whole URL and encoding a single value trips people up constantly, and it is the source of a large share of broken links. Escaping a complete address as though it were a value destroys it; escaping a value as though it were an address leaves the dangerous characters intact. Picking the right scope here avoids both.
Decoding is just as useful in the other direction. Log files, redirect chains, analytics parameters and error messages are full of percent-escaped text that is unreadable at a glance, and turning it back into plain text is often the quickest way to work out what a request was actually doing.
It replaces characters that have a special meaning in a URL, or that are not allowed at all, with a percent sign and their hex value — a space becomes %20, an ampersand becomes %26.
"Single value" escapes everything including : / ? & =, which is right for one query parameter. "Whole URL" preserves those characters so the address keeps its structure.
If you are building a query string, use single value — otherwise an ampersand inside your text will split the parameter in two. If you are fixing up a complete address, use whole URL.
A lone percent sign or an invalid pair like %ZZ is not a valid escape sequence. The error means the text was truncated or was never percent-encoded in the first place.
Yes. Characters outside ASCII are encoded as their UTF-8 bytes, which is what modern browsers and servers expect.
No. Encoding and decoding happen in your browser, so URLs containing tokens, session identifiers or internal hostnames stay private.
Generate QR codes for URLs, text, Wi-Fi and more.
Count words, characters, sentences and reading time as you type.
Convert text between UPPER, lower, Title, camelCase, snake_case and more.
Format, validate, minify and sort JSON — with clear error messages.