Unicode to Query String – UTF-8 Percent Encoding for Text and Emoji

Local only

Show how URLSearchParams serializes Unicode strings as UTF-8 percent-encoded query components.

25 chars · 1 line

45 chars · 3 lines

1 parameter1 unique keys

Unicode query serialization

How Unicode text becomes a percent-encoded query string

Build Query accepts Unicode JSON strings. URLSearchParams encodes the UTF-8 bytes into percent escapes while preserving spaces with form-style + serialization. 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. Enter Unicode strings in Build Query.
  2. Inspect the generated UTF-8 percent escapes.
  3. Parse the query back to verify the original characters are recovered.

Percent escapes represent UTF-8 bytes

Characters outside the unescaped URLSearchParams set are encoded as UTF-8 byte sequences and then written as %HH escapes.

This is normal URL transport encoding; the parser reconstructs the original Unicode strings when the query is decoded.

CJK text, a check mark, and emoji

The generated query contains UTF-8 percent escapes and a + for the space.

JSON object

{"q":"你好 ✓","emoji":"🚀"}

Built query string

q=%E4%BD%A0%E5%A5%BD+%E2%9C%93&emoji=%F0%9F%9A%80

Common questions

Frequently asked questions

Why does Chinese text become several percent escapes?

Each Unicode character is encoded to one or more UTF-8 bytes, and those bytes are represented with %HH escapes.

Is emoji supported?

Yes. URLSearchParams serializes emoji through UTF-8 percent encoding.

Will decoding restore the original text?

Yes, when the query is parsed with standard URL decoding behavior.

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