Trexmi
Network Ready

Query String Parser

Parse a complete URL or raw query string into structured, readable JSON without changing the original input.

Complete URL or raw query input Ordered decoded and raw pairs Repeated-key grouping Percent and plus decoding
INPUT Developer source value *
0 chars0 words0 lines
Paste the source value for this specific transformation. Example: Trexmi developer sample
Ctrl / ⌘ + Enter
Result Result ready to review and copy.
About the tool

What Query String Parser does

Query String Parser converts the compact query component of a URL into readable JSON. It accepts a full address, a value beginning with ?, or only the raw parameter sequence.

The result preserves every occurrence in order, including its decoded name and value plus the raw transmitted text. A grouped object combines repeated names into arrays while leaving one-time parameters as strings.

Plus signs decode as spaces and percent escapes decode to their represented characters. Bracket-style names such as filter[color] remain exact keys because frameworks disagree about automatic nesting.

Query String Parser showing decoded pairs repeated keys and grouped URL parameters
Compare transmitted parameter text with decoded pairs and grouped values.

How to use

  1. Paste the source. Use a full URL, a question-mark query, or raw parameters.
  2. Preserve encoding. Do not manually replace plus signs or percent sequences first.
  3. Parse. The tool separates parameter occurrences and decodes each name and value.
  4. Inspect repetition. Compare ordered pairs with the grouped parameters object.
  5. Test the receiver. Confirm repeated-key and bracket behavior in the actual framework or API.
Built for the task

Why use Query String Parser?

Focused controls, predictable output, and a workflow designed around this exact transformation.

01

Ordered pair inspection

See every occurrence in transmission order with decoded and raw forms.

02

Full URL or raw query

Parse copied browser addresses and isolated parameter strings with the same workflow.

03

Repeated-key grouping

Keep all duplicate occurrences and view their grouped array representation.

04

Copy-ready JSON

Review a structured result without changing the original source.

Useful answers

Questions about Query String Parser

Practical details about input, output, privacy, limits, and the best way to use this tool.

01 Can I paste a complete URL?

Yes. The parser extracts the text after the question mark. It also accepts a raw query with or without the leading question mark.

02 Why does a plus sign become a space?

Form-style URL decoding treats + as a space. Encode a literal plus as %2B.

03 How are repeated parameters returned?

Every occurrence remains in the ordered pairs list. The grouped object converts a repeated name into an array of values.

04 Are empty values removed?

No. A parameter such as preview= is retained with an empty string value.

05 Does filter[color] become a nested object?

No. The exact decoded name filter[color] is preserved. Apply framework-specific nesting rules in the destination system.

06 Does the parser modify the URL?

No. It creates a separate analysis while keeping the source available.

07 Can I paste reset or login URLs?

Avoid active tokens, session identifiers, private callbacks, and customer data. Use synthetic values when possible.

08 Why can server output differ?

Frameworks make different choices for duplicate keys, semicolon separators, bracket names, and malformed percent escapes.

Examples

Parse repeated tags

Repeated tag occurrences remain ordered and are also grouped as an array.

Input
https://example.com/search?q=blue+shoes&page=2&tag=sale&tag=new
Output
parameter_count: 4
q: blue shoes
page: 2
tag: [sale, new]

Keep a blank campaign value

Percent escapes are decoded and the empty value is preserved.

Input
?utm_source=email&utm_campaign=fallsale&preview=
Output
utm_source: email
utm_campaign: fall sale
preview: ""

Preserve a bracket name

The bracket key remains literal while the encoded plus becomes a plus character.

Input
filtercolor=navy&size=m&coupon=SAVE10
Output
filter[color]: navy
size: m
coupon: SAVE+10

Pairs and grouped parameters

The output separates two useful views. pairs preserves each parameter occurrence and includes decoded and raw forms. parameters groups repeated names so duplicates become arrays. parameter_count counts occurrences rather than distinct names.

Query string parsing examples

Search URL with a repeated tag

Input:
https://example.com/search?q=blue+shoes&page=2&tag=sale&tag=new

Decoded parameters:
q: "blue shoes"
page: "2"
tag: ["sale", "new"]
parameter_count: 4

Campaign query with a blank value

Input:
?utm_source=email&utm_campaign=fall%20sale&preview=

utm_source: "email"
utm_campaign: "fall sale"
preview: ""

Bracket name and literal plus

Input:
filter%5Bcolor%5D=navy&size=m&coupon=SAVE%2B10

filter[color]: "navy"
size: "m"
coupon: "SAVE+10"

Encoded callback URL

Input:
next=https%3A%2F%2Fexample.com%2Faccount%3Ftab%3Dbilling

next: "https://example.com/account?tab=billing"

Spaces, plus signs, and percent escapes

A raw plus character is decoded as a space. Use %2B when the intended value contains a literal plus. Percent escapes represent bytes, so %20 becomes a space and %5B/%5D become square brackets.

Use URL Decoder when you only need to decode one isolated component. The parser is better when names, values, duplicates, and order must remain connected.

Repeated keys and framework-specific nesting

A receiving framework may keep the first duplicate, keep the last, create an array, or interpret square brackets as nested data. This tool exposes the wire-level occurrences and provides a practical grouped view, but the destination application remains authoritative.

Do not remove separators before parsing. When a value contains another URL, inspect both the outer parameter and the decoded inner address. Format the generated structure with JSON Formatter when copying it into documentation or a test fixture.

External reference

For parsing and percent-encoding rules, consult the WHATWG URL Standard.