A percent decoder walks the string, and whenever it sees a percent sign it reads the next two hex digits as a byte and replaces the three-character sequence with the raw byte. Those bytes are then interpreted as UTF-8 so non-ASCII characters appear correctly. This tool accepts input from any URL component: query strings, path segments, fragments, or form bodies, and it leaves unencoded characters alone.
Turn a noisy URL full of percent sequences into a clear list of human-readable parameters during debugging.
Login and auth flows often percent-encode a redirect_uri. Decode to see where the browser is actually going.
Referrer values in server logs are percent-encoded. Decode them to get a readable request trail.
Sometimes a URL is encoded twice. Decode once, check the result, and decode again if you still see percent sequences.
You will get a decode error pointing at the bad position. Real URLs that hit this are usually malformed or already partially decoded.
Strict percent decoding leaves + alone. Form-encoded data uses + for space, so handle that separately if you are parsing a form body.
Consecutive percent sequences are combined into UTF-8 bytes before the decoder assembles them into a single codepoint.
Yes. HTML decoding handles & style entities. Percent decoding handles %XX hex byte sequences. Different contexts, different schemes.