Percent-Encoded Unicode in Query Strings – Decode UTF-8 Values

Local only

Inspect how UTF-8 percent escapes become Unicode text in parsed query parameters.

40 chars · 1 line

34 chars · 4 lines

2 parameters2 unique keys

UTF-8 query decoding

How percent-encoded Unicode becomes readable query text

Query strings carry non-ASCII text as UTF-8 bytes represented by percent escapes. URLSearchParams decodes those bytes back into JavaScript Unicode strings. This tool is free to use. No account or payment is required.

Last updated

What you can do here

  • Browser-native URLSearchParams behavior
  • Full URL and raw query parsing
  • Repeated parameter preservation
  • JSON object to query construction
  • Browser-local processing

Steps

  1. Paste the encoded query into Parse to JSON.
  2. Confirm the percent escapes represent valid UTF-8 bytes.
  3. Compare the decoded Unicode strings in the JSON output.

Percent escapes represent encoded bytes

Characters outside plain ASCII are UTF-8 encoded before their bytes are written as %HH sequences in a URL component.

The parser reverses that process and exposes the decoded string in JSON.

Check mark and Chinese text

Two UTF-8 values are decoded in one query.

Query string

?check=%E2%9C%93&word=%E4%BD%A0%E5%A5%BD

Parsed JSON

{
  "check": "✓",
  "word": "你好"
}

Common questions

Frequently asked questions

What character encoding is normally used for query values?

Modern URLs generally percent-encode UTF-8 bytes.

Why are there several %HH sequences for one character?

Many Unicode characters require multiple UTF-8 bytes.

What if the byte sequence is incomplete?

URLSearchParams is forgiving; see the malformed percent-encoding page for the resulting replacement characters.

Debugging a specific Query String issue? Browse Query String troubleshooting.