A query string is an ordered sequence of name-value segments, not automatically a dictionary. QueryLens accepts an optional leading question mark, splits the remaining source on ampersands and treats the first equals sign inside each segment as the boundary. Later equals signs remain part of the value. Write down the selected profile and compare the source, decoded rows and canonical query together. That evidence makes a later mismatch reproducible without pretending that this parser defines how every server, framework or signature system will interpret the same bytes.

Ampersands create exact segments

For a=1&b=2, the parser receives two segments in that order. Leading, trailing or doubled ampersands create an empty segment and are rejected instead of being silently removed. This choice exposes accidental separators and makes pair counts deterministic. Keep duplicate names as separate ordered rows until the receiving application states its own policy. Converting early to a plain object can discard values, change their order or hide whether a parameter appeared without an equals sign in the original query.

Only the first equals sign separates

The segment token=a=b becomes name token and value a=b. A bare flag has no equals sign but is represented with an empty decoded value and explicit source evidence. Canonical output writes an equals sign so its normalized representation is unambiguous. A successful decode only establishes the text produced by these explicit rules. It does not validate a destination URL, authorize a redirect, verify a signature, detect an attack or prove that another implementation applies identical limits and error handling.

Malformed escapes stop the complete result

Every percent sign must be followed by two hexadecimal digits, and the resulting bytes must decode as valid UTF-8. QueryLens distinguishes malformed percent syntax from invalid UTF-8 and clears previous output, so a stale successful table cannot be mistaken for the new source. QueryLens performs the transformation locally and sends no query content to a product backend. Still review copied output before reuse: encoded data can contain identifiers, search terms or other sensitive text, and the destination remains responsible for validation and access control.