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.
Privacy
Runs in your browser
Files are processed by your browser. They never reach our servers.