Developer Tools

Query String Parser

Decode URL query parameters locally. Preserve repeated keys, inspect bare flags and empty values, group keys into arrays and copy a re-encoded query without opening the URL.

Your content stays on your device Free, with no account
See the parameters behind a URL Local parsing · no navigation
Up to 100,000 UTF-16 units and 1,000 nonempty entries. Select the matching input mode below.

Decoding is strict and single-pass: malformed percent escapes or UTF-8 fail. Query mode removes one leading ? and treats # as literal text. Full URL mode excludes the fragment. Nothing is opened or fetched.

YOUR PARAMETERS

Ready. Choose the correct input mode and parse.

Every value stays a string. Brackets and dots in keys are literal; nested structures are not inferred. Re-encoding normalizes escape spelling while preserving entry order and bare flags. Outputs may contain private tokens—review before sharing.

A FEW SIMPLE STEPS

How to use Query String Parser

  1. Select Query string or Full HTTP(S) URL and paste the matching input, or load the example.
  2. Choose whether + means a space or remains literal. Choose ordered entries or grouped JSON.
  3. Select Parse parameters to inspect decoded pairs, repeated entries and re-encoded output.
  4. Copy JSON, download it or copy the re-encoded query. Review output before sharing because URL parameters can contain private values.
PRIVATE BY DESIGN

Why use this tool?

Parameters are decoded on your device, without visiting the pasted URL, making network requests, uploading input or storing history. Repeated entries and encoding errors are handled explicitly instead of being silently discarded.

Tool inputs stay in your browser. Only your theme preference is saved on this device.

A few things worth knowing

How do the input modes differ?

Query string mode removes one leading ? and parses the remaining text as parameters; # is literal text in this mode. Full URL mode accepts an absolute HTTP or HTTPS URL and uses only its query, excluding the fragment. Full URL parsing uses the browser URL implementation and can normalize spelling. Literal tabs and line breaks are rejected in full URL mode. No URL is opened or fetched.

What happens to repeated keys and empty values?

Ordered entries preserve each key/value pair in order and include hasEquals, distinguishing a bare flag from an explicitly empty value. Grouped JSON maps each key to an array of string values; this convenience format loses the bare-flag distinction. Empty keys are supported, while empty segments between & separators are ignored. Repeated-entry statistics count occurrences beyond the first per key.

How are plus signs and percent escapes decoded?

By default, + becomes a space as in form-style query parsing. Literal-plus mode keeps + unchanged; %2B still decodes to +. Percent decoding happens once and requires valid escapes and UTF-8; malformed sequences cause an error. This is deliberately stricter than URLSearchParams error repair. Values are never converted to booleans, numbers or nested structures.

Can I parse arrays or nested parameter objects?

Keys such as tag[], user.name and filter[status] remain literal strings. No framework-specific bracket or dot nesting is inferred. Repeated keys can be grouped into arrays, with all values kept as strings. Prototype-like names remain own data properties and are not merged into application objects.

What does re-encoded query mean?

It serializes decoded entries again in the same order, without a leading ?. Bare flags remain bare, and entries with = retain it. Form mode encodes spaces as +; literal-plus mode uses percent encoding with spaces as %20. Escape spelling may change, so this output is not a byte-for-byte reconstruction of the original query and may invalidate URL signatures.

What are the limits and privacy rules?

Input is limited to 100,000 UTF-16 units and 1,000 nonempty entries. JSON and re-encoded output are each limited to 250,000 units. Errors produce no partial output. The table previews the first 100 entries while JSON and re-encoded output include all accepted entries. Inputs are not uploaded, opened or stored. Reports can contain sensitive query tokens, so review before sharing.