URL Parameter Parser
Paste a full URL or raw query string and break the parameters into readable pieces. Inspect decoded values, duplicate keys, and JSON output in one place.
Supports full URLs, relative paths like `/products?page=2`, and raw query strings such as `?page=2&sort=latest`.
Duplicate keys are grouped into arrays in the JSON output. For example, `tag=seo&tag=tools` becomes `{ "tag": ["seo", "tools"] }`.
The parameters were parsed successfully. Review the base URL, normalized query string, and decoded output below.
Common examples
Summary
utm_source=google&utm_medium=cpc&utm_campaign=spring-sale&tag=seo&tag=tools&redirect=https%3A%2F%2Fexample.com%2Fwelcome%3Ffrom%3DadsParameter list
Decoded key#1
utm_sourceDecoded valuegoogleEncoded pairutm_source=googleDecoded key#2
utm_mediumDecoded valuecpcEncoded pairutm_medium=cpcDecoded key#3
utm_campaignDecoded valuespring-saleEncoded pairutm_campaign=spring-saleDecoded key#4
tagDecoded valueseoEncoded pairtag=seoDecoded key#5
tagDecoded valuetoolsEncoded pairtag=toolsDecoded key#6
redirectDecoded valuehttps://example.com/welcome?from=adsEncoded pairredirect=https%3A%2F%2Fexample.com%2Fwelcome%3Ffrom%3DadsJSON output
JSON output
URL parameter parser guide
Query strings appear everywhere in filtering, pagination, campaign tracking, OAuth redirects, and API debugging. The problem is that encoded values like `%2F`, `%3D`, or `%20` are hard to read at a glance, and repeated keys are easy to miss. This tool focuses on parsing URL parameters, decoding them for humans, and converting them into a JSON structure that is easier to inspect.
When this tool is especially useful
- Checking whether UTM campaign values were attached correctly
- Inspecting pagination, sorting, and filter state in frontend routes
- Debugging OAuth redirect URLs, state values, and callback parameters
- Converting repeated query parameters into a JSON-friendly view
Common mistakes
- Reading an encoded redirect URL without noticing the real destination
- Forgetting that repeated keys like `tag=a&tag=b` may represent arrays
- Confusing the hash fragment with the query string
- Assuming relative app routes behave exactly like full server URLs
Frequently Asked Questions
The parameter list preserves every pair in order. In the JSON output, repeated keys are grouped into arrays. Example: `tag=seo&tag=tools` becomes `{ "tag": ["seo", "tools"] }`.
No. A fragment such as `#section-2` is separate from the query string. This tool shows it in the summary but does not include it in the parameter list.
Yes. Inputs such as `/products?page=2`, `?page=2&sort=latest`, and `tag=seo&tag=tools` are all supported.
No. Parsing and decoding happen entirely in your browser and nothing is uploaded anywhere.