Query String Parser
Processed Client SideParse URLs and query strings into key-value pairs. Inspect, decode, and copy individual parameters.
Bookmark this tool now — skip the search next time you need it.
About Query String Parser
This tool runs entirely in your browser. Whatever you paste is processed on your own device and is never uploaded, logged, or sent to any server.
The Query String Parser splits a URL, or a bare query string, into a table of parameters you can actually read. Paste a long tracking link, an OAuth callback, or a request pulled out of a log, and every key and value is listed separately with percent-encoding already decoded, above a breakdown of the protocol, host, path, and fragment. Duplicate keys are kept as separate rows instead of being collapsed, so array-style parameters stay visible. Any single value copies with one click, and the whole query string can be copied back correctly re-encoded. Parsing uses the browser URL and URLSearchParams APIs, so it decodes exactly the way your code will.
Key features
- Accepts a full URL or a bare query string, with or without the leading question mark
- Every parameter listed in a table with its value decoded, so %20, %2F, and + all resolve
- Protocol, host, path, and fragment broken out above the table
- Duplicate keys preserved as separate rows, so a repeated parameter stays two values rather than one
- One-click copy on any individual value
- Copy QS rebuilds the entire query string with every value correctly re-encoded
- A live count of parameters, so you can see at a glance how many a link is carrying
- Parsed with the browser URL and URLSearchParams APIs, giving decoding identical to what your application sees
- Updates as you type and runs entirely in your browser, so URLs holding tokens are never uploaded
How to use it
- Paste a URL or a bare query string into the left pane.
- Read the table on the right, where each parameter appears with its decoded value.
- Check the breakdown above it for the protocol, host, path, and fragment.
- Copy a single value with the icon on its row, or use Copy QS for the whole rebuilt query string.
Tips & common mistakes
- A plus sign in a query string means a space, not a plus. That is why hello+world reads as two words in the table; a literal plus has to be written as %2B.
- Parameters after a # are part of the fragment, not the query string, so they never appear in the table. OAuth implicit flows put tokens there, so paste the fragment on its own to inspect it.
- Copy QS re-encodes every value, which is the quickest way to repair a hand-edited URL where a value contains a raw ampersand or space.
- Repeated keys are a convention rather than a standard. Some frameworks read a repeated parameter as a list, some keep only the last value, and some expect square brackets in the name, so check which one your API is.
- Query strings end up in server logs, proxy logs, and analytics, so never put a password, token, or personal data in one.
- Parameter order rarely matters to a server but usually matters to a cache, since two URLs that differ only in order are two separate cache entries.
- To encode or decode a single value on its own, use the URL Encode and Decode tool.
- Building the query string from scratch? Percent-encode individual values first with URL Encode / Decode.