URL Parser / Query String Splitter
Break any URL into readable components and decoded query parameters.
Parsed URL
Query Params
About this tool
This URL parser breaks any absolute URL into its structural components - protocol, host, pathname, search string, hash fragment - and separately decodes all query parameters into individual key-value pairs. URLs used in OAuth flows, API callbacks, redirect chains, and analytics tracking often contain multiple encoded parameters that are difficult to read as a raw string. This tool makes them instantly legible without writing any code.
Real example
Input: https://example.com/callbackcode=abc123&state=signed-in&redirect_uri=https%3A%2F%2Fapp.example.com%2Fdashboard#done
Parsed URL components:
protocol: https:
host: example.com
pathname: /callback
search: code=abc123&state=signed-in&redirect_uri=https%3A%2F%2F...
hash: #done
Decoded query parameters:
code = abc123
state = signed-in
redirect_uri = https://app.example.com/dashboard (decoded from percent-encoded form)
The redirect_uri parameter is URL-encoded in the raw string - the parser decodes it so you can see the actual value immediately.
Common use cases
- OAuth callback debugging: Authorization code flows return callbacks like
/callbackcode=...&state=...&error=.... Paste the full callback URL here to instantly verify the authorization code, state parameter, and any error codes. - API link inspection: Signed API URLs (AWS S3 presigned URLs, Stripe webhook URLs) embed credentials and expiry times in query parameters. Decode them here to verify the correct values without accidentally leaking them into logs.
- UTM parameter QA: Marketing campaigns embed UTM parameters in URLs (
utm_source,utm_medium,utm_campaign). Paste campaign links here to verify every parameter is correctly set before launch. - Redirect chain analysis: Long redirect URLs often have the destination URL encoded as a query parameter. Parsing reveals the actual destination without following the link.
How it works
The URL is passed to the browser's native new URL(input) constructor. This gives access to all components: href, protocol, host, pathname, search, and hash. Query parameters are iterated with url.searchParams.forEach(), which automatically URL-decodes percent-encoded values like %20 (space) and %2F (/). All processing is local - no network requests are made.
Common mistakes
- Relative URLs are not supported: The browser's URL API requires an absolute URL with a protocol.
/callbackcode=abcwill fail - you needhttps://example.com/callbackcode=abc. Add a placeholder domain if you are only interested in the query string. - Double-encoded parameters: Sometimes
redirect_uriis encoded twice (%2520instead of%20). The parser decodes one layer. If values still look encoded after parsing, the source URL has double-encoding - a common bug in redirect implementations. - Fragment (#) is not sent to the server: The hash/fragment portion of a URL is never sent in HTTP requests - it exists only in the browser. If you are debugging server-side behavior, the
#portion is irrelevant. It is typically used for single-page app routing or OAuth implicit flow tokens.
FAQ
Are query parameters URL-decoded
Yes. URLSearchParams automatically decodes percent-encoded values, so hello%20world becomes hello world in the output.
What if a parameter appears multiple times
Some URLs include the same key multiple times (e.g., tag=a&tag=b). The parser outputs each occurrence as a separate line.
Can I parse data: or blob: URLs
No. This tool is designed for http/https URLs. Data URIs and blob URLs have different structures and are not supported.
Is anything sent to a server
No. Parsing uses the browser's built-in URL API - no network requests are made and the URL is not transmitted anywhere.
Related tools
- Base64 Encoder/Decoder — decode Base64-encoded values extracted from URL parameters
- JSON Formatter — format JSON payloads found inside URL query strings
- Regex Tester — build regex patterns to match URL path segments
- UNIX Timestamp Converter — decode epoch timestamp parameters found inside parsed URLs