How do you turn a URL-encoded JSON string back into readable structured data?
Decode the percent-encoded text first, confirm the result is valid JSON, then format or validate the decoded payload before reusing it.
Where encoded JSON usually comes from
This usually appears in redirects, callback URLs, analytics payloads, OAuth-style handoffs, browser traces, and logs where JSON had to fit inside a URL-safe string.
The problem is not the JSON structure itself. The problem is that the payload is unreadable until it is decoded back into plain text.
Fast workflow
- 1Paste the encoded payload or full query parameter string into a decoder.
- 2Decode the text and confirm the result is valid JSON.
- 3Validate the decoded payload if anything still looks suspicious.
- 4Format the clean JSON if you want readable indentation before copying it elsewhere.
Encoded query parameter example
This is the kind of input you often get from a query string or redirect callback.
Decoded JSON result
After decoding, the same value becomes normal JSON that you can validate, format, diff, or convert.
What to check after decoding
- Whether the decoded text is actually valid JSON and not just plain text that happened to be URL-encoded.
- Whether the source came from a full query string that needs parameter extraction before parsing.
- Whether plus signs should be treated as spaces because the payload came from a query-parameter encoder.
Quick answers
What to do next
Start with the right tool now, then move back to the hub or sideways into the adjacent guides if the first answer was not the whole fix.
Open URL-encoded JSON Decoder
Decode a percent-encoded payload or query parameter and turn it back into readable JSON.
Open JSON Validator
Validate the decoded JSON when the source value may still be malformed after decoding.
How to Validate JSON
Use a JSON validator to check syntax, read parse errors, and locate the exact line and column causing invalid JSON.
How to Format JSON
Learn how to format JSON safely, pick the right indentation, and spot invalid input before you copy output into code or docs.