Good for
Common use cases
People reach for a url decoder when a URL arrived percent-encoded and the readable value is the only thing that helps debug what the URL actually points at. The classic situations are an OAuth redirect URL pulled out of a network capture (the `state` parameter is a Base64 blob, the `code` is short-lived, and the `redirect_uri` is itself percent-encoded twice because the OAuth client URL-encoded the redirect target before the provider URL-encoded the whole callback), a tracking link with `%2F` and `%3A` everywhere because somebody URL-encoded a full URL into a query parameter, an S3 or CloudFront signed URL with `?X-Amz-Signature=` and a long `X-Amz-Credential` value where the readable part is the credential scope, a webhook callback URL captured before and after a flag flip where the question is "did this parameter change," a UTM-laden share link that you want to clean up before pasting into a doc, an email click-tracker where the real destination is wrapped in a `?u=` parameter, an API request URL inside a Postman or DevTools network log where the readable query string answers "did this client hit the right endpoint," and the slightly-different sibling case of an `application/x-www-form-urlencoded` POST body where `+` means space and `&` separates name/value pairs. The same pipeline gets called URL decoding, percent-decoding, or "URL decode" depending on which tool wrote the docs you read; they all describe the same operation — take a percent-encoded value, run it through `decodeURIComponent`, and surface the readable string. This page does that operation locally with the browser's native `decodeURIComponent` plus the WHATWG URL parser, so the decoded values match what the consuming HTTP client would see after percent-decoding (the per-component query table is the authoritative structure; the reassembled URL string in the output panel is a readable rendering, not a byte-for-byte URL — once the values are decoded, a literal `&` or `=` inside a value can no longer be distinguished from the URL's structural separators in flat-string form). Doing it browser-local matters because URLs in front of you routinely contain access tokens, customer email addresses, partner identifiers, signed-URL bodies, and unreleased feature flags that have no business going through an arbitrary online service.
Processing mode
Browser-local
Files are processed by your browser. They never reach our servers.