Parse URL query parameters online

Break a URL into its parts — protocol, host, path, each query parameter, and the fragment — with decoded values, so you can see exactly what a link carries.

Parse this URL into query parameters

Opens URL Parser with this example preloaded. Everything runs locally in your browser.

Parse this URL into query parameters →

The problem

Long URLs hide structure: tracking parameters, encoded values, and a fragment that is not part of the query string at all. Parsing the URL lays out every component and decodes percent-encoded values.

Sample input

URL
https://example.com/products?category=tools&page=2&utm_source=newsletter#details

Expected output

Parsed
protocol:  https
host:      example.com
path:      /products
query:
  category   = tools
  page       = 2
  utm_source = newsletter
fragment:  details

The fragment #details is not a query parameter — it is never sent to the server.

How to do it

  1. Paste the full URL.
  2. Parse it.
  3. Review host, path, query parameters, and fragment.
  4. Decode any percent-encoded values you need to read.
  5. Copy the parsed or cleaned result.

Common mistakes

  • Confusing the query string (?) with the fragment (#).
  • Forgetting that values may be URL-encoded.
  • Missing repeated query parameters with the same name.
  • Treating + and %20 as identical in every context.
  • Not inspecting redirect URLs nested inside a parameter.

Related tools

Related guides

FAQ

What is a URL query parameter?

A key=value pair after the ? in a URL, separated by &, used to pass data to the server or page, such as ?page=2&sort=name.

How do I parse query parameters from a URL?

Paste the URL into the parser; it splits the query string into individual key=value pairs and decodes the values.

What is the difference between query and fragment?

The query string follows ? and is sent to the server. The fragment follows # and stays in the browser — it is not sent in the request.

Can a URL have duplicate query parameters?

Yes. The same key can appear multiple times, e.g. ?id=1&id=2. How they are interpreted depends on the server.

Is URL parsing done locally?

Yes. The URL is parsed in your browser; nothing is uploaded.

URL parsing happens locally in your browser. The URL is not sent anywhere.

Practical example and expected result

Break a URL into its parts — protocol, host, path, each query parameter, and the fragment — with decoded values, so you can see exactly what a link carries. In practice, this is most useful when you need a quick, repeatable check on a URL or query string before adding it to a ticket, pull request, test fixture, or support note.

A realistic input for this workflow is https://example.com/products?category=tools&page=2&utm_source=newsletter#details. The expected result should resemble protocol: https host: example.com path: /products query: category = tools page = 2 utm_source = newsletter fragment: details, with the same important values preserved.

Troubleshooting checklist

  • Confirm you copied the complete URL or query string and not only a partial line or truncated preview.
  • Run the local tool once with a safe sample, then repeat with the real data only if your team policy allows it.
  • Check quoting, escaping, whitespace, encoding, timestamps, and environment-specific values before trusting the result.
  • Before sharing output, remove secrets, tokens, cookies, customer data, and production hostnames that are not needed for the review.

Next useful steps

Review checklist before sharing the result

For Parse URL query parameters online, the safest workflow is to test with a small sample, confirm the output shape, then repeat with the real artifact only when needed. Keep the original input open until you verify that no value was dropped, decoded twice, sorted unexpectedly, or changed from text into a different type.

Before copying the result into a pull request, issue, chat thread, or support ticket, scan for private values. Replace real IDs, bearer tokens, session cookies, email addresses, internal hostnames, and customer data with placeholders. If another tool is listed above, use it as the second pass rather than manually editing complex output.

  • Keep one line of context explaining why the transformation was needed.
  • Preserve enough sample structure for a reviewer to reproduce the result locally.
  • Note any assumptions about encoding, timezone, delimiter, schema version, or runtime environment.