DEVELOPER TOOL

URL Parameter Parser

Paste a full URL or just a query string and see every parameter broken out, decoded and labeled.

About this tool

Breaks a URL down into its protocol, host, path, and hash, and lists every query parameter as a decoded key/value pair — so q=hello+world shows up as q = hello world, exactly as your server or script would receive it. Uses the browser's native URL parser, so the result matches what real code parsing the same string would see.

How to use the URL Parameter Parser

  1. Paste a full URL, or just a query string like a=1&b=2.
  2. Click "Parse" to see the breakdown.
  3. Copy the parameters if you need them as plain text.

Common use cases

Worked example

The sample URL above, https://example.com/search?q=hello+world&page=2&sort=relevance#results, breaks down into protocol https:, host example.com, path /search, and hash #results, with three query parameters: q = hello world (the + is decoded to a space, which is how form submissions encode spaces), page = 2, and sort = relevance.

Things to watch out for

If a parameter name appears more than once in the URL (like tag=a&tag=b), only the values are listed one row per occurrence — some server frameworks combine repeated parameters into an array and others only keep the last one, so check how your specific backend handles it. A bare query string with no ? or full URL, like a=1&b=2, is still parsed correctly; the tool detects it isn't a full URL and treats the whole input as the query.

Frequently asked questions

Does it work with just a query string, not a full URL?

Yes. If the input doesn't start with a scheme like https://, it's treated as a bare query string (with or without a leading ?), and only the parameters are shown.

Are the parameter values decoded?

Yes — percent-encoded characters and + (used for spaces in form submissions) are both decoded, so you see the actual value your code would receive, not the raw encoded text.

What happens with a repeated parameter name, like tag=a&tag=b?

Both occurrences are listed as separate rows with the same key. The tool doesn't guess whether your backend treats repeats as an array or keeps only the last one — that depends on your server framework.