15 chars · 1 line
20 chars · 3 lines
15 chars · 1 line
20 chars · 3 lines
Malformed query encoding
URLSearchParams is forgiving. An incomplete UTF-8 sequence can be decoded with the Unicode replacement character while an incomplete percent escape remains literal text. This tool is free to use. No account or payment is required.
Last updated
The browser URLSearchParams implementation does not necessarily reject malformed percent-encoded UTF-8 as a syntax error.
A replacement character in the decoded result is a signal to inspect the original bytes or upstream URL construction.
The parser returns a replacement character and leftover %A text.
?value=%E0%A4%A{
"value": "�%A"
}Common questions
URLSearchParams uses forgiving form-url-encoded decoding rather than strict UTF-8 validation.
It is the Unicode replacement character, commonly used when bytes cannot be decoded as valid text.
Usually not without understanding the upstream encoding. The page describes parser behavior, not application-level validity.
Debugging a specific Query String issue? Browse Query String troubleshooting.