Skip to content
uencoder
TASK

Parse URL query strings

Query strings pass key-value pairs in URLs after the ?. Learn parsing, encoding, and handling of arrays, nested objects, and special characters.

  1. 1

    A query string starts after ? in a URL: ?key=value&key2=value2. Keys and values are percent-encoded (spaces → %20 or +, special characters → %XX). Multiple values for the same key can use array notation: ?colors[]=red&colors[]=blue. Nested objects: ?user[name]=Alice&user[age]=30.

  2. 2
    URL Parser →

    Parse a full URL to extract the query string as an object. The parser handles percent-decoding, array notation, and nested objects. Verify that special characters and Unicode are correctly decoded.

  3. 3
    URL Decoder →

    Decode a percent-encoded query string value. %20 → space, %2F → /, %3F → ?, %E4%B8%AD → 中 (UTF-8). The + character decodes to space in query strings (but %20 in path segments).

  4. 4
    url-decode → hex-encode

    Use the URL decode workflow to decode and analyze query string parameters, handling double-encoding and nested parameters.

Frequently asked questions

What is the difference between + and %20 for spaces?
In query strings, both + and %20 represent a space (application/x-www-form-urlencoded). In URL path segments, only %20 is a space — + is a literal plus sign. This inconsistency is a common source of bugs. Use %20 for paths, and either in query strings.
How do I pass arrays in query strings?
Common conventions: ?ids[]=1&ids[]=2 (PHP/Rails), ?ids=1&ids=2 (repeated key), ?ids=1,2 (comma-separated). There is no standard — choose one and document it. The repeated key form (?ids=1&ids=2) is the most widely supported.

Workflows that solve this

Convert Base32 to Hex
Decode Base32 and re-encode as hex for debugging.
PIPELINE
Convert Base64 to Hex
Decode a Base64 string into raw bytes and re-encode it as hexadecimal for inspection or interop.
PIPELINE
Convert Binary to Hex
Decode a binary (base-2) string into its byte value and re-encode as hexadecimal.
PIPELINE
ChaCha20 Encrypt then Hex
ChaCha20 encrypt then hex-encode the ciphertext.
PIPELINE
Hex encode then decode round-trip
Encode text to hexadecimal and decode it back to verify the round-trip preserves the original data.
PIPELINE
Hex-encode text and analyze
Convert text to its hexadecimal representation then compute character statistics on the hex output.
PIPELINE
Convert Multibase to Hex
Decode multibase and re-encode as plain hex.
PIPELINE
Convert Octal to Hex
Decode octal and re-encode as hex for compact representation.
PIPELINE
Punycode Decode and URL Parse
Decode Punycode domain then parse the full URL.
PIPELINE
Reverse text and show hex encoding
Reverse a string then inspect its hexadecimal representation — useful for debugging byte-order issues and encoding puzzles.
PIPELINE
SHA-512 Hash then Hex Encode
Compute SHA-512 hash then encode as hex for readability.
PIPELINE
Decode URL and show hex bytes
Percent-decode a URL-encoded string then view its hexadecimal byte representation for low-level analysis.
PIPELINE
URL Decode and Parse
URL-decode then parse the URL into components.
PIPELINE
URL double decode
Decode a URL-encoded string that has been encoded twice, recovering the original plaintext.
PIPELINE
Encode a text payload for URL transport
Percent-encode text then show its hex representation for safe URL parameter transport.
PIPELINE
Decode nested URL parameter (Base64 JSON)
Unwrap a URL parameter that carries URL-encoded Base64 JSON into readable, formatted JSON.
PIPELINE
XXencode then Hex
XXencode text then hex-encode the result.
PIPELINE

Learn more

Want to understand why?

Related tools