JSON URL Decoder
Decode URL-encoded JSON strings back to readable, formatted JSON
URL-Encoded Input
Decoded JSON
What Is JSON URL Decoding?
When a JSON string is embedded in a URL, special characters like {, ", spaces, and brackets are replaced with %XX percent-encoded sequences so the URL remains valid. This tool reverses that process using JavaScript's decodeURIComponent() function, then pretty-prints the result as formatted JSON conforming to RFC 8259.
URL decoding is the inverse of URL encoding (see the JSON URL Encoder). Under RFC 3986, percent-encoded octets are decoded back to their original bytes, read here as UTF-8. Two practical details: HTML forms and many logs write spaces as +, so when the input has + and no %20, each + is read as a space (a note says so). And large integers such as 8901240544102066246 keep every digit in the formatted output.
How to Decode URL-Encoded JSON
Follow these steps to decode your URL-encoded JSON string.
Paste the URL-encoded string
Paste your URL-encoded JSON (e.g., %7B%22customer%22%3A%22Ava%20Chen%22%7D) into the input panel, or click Sample to load a demo.
Instant decoding and formatting
The output updates as you type. The string is decoded with decodeURIComponent(), and if the result is valid JSON it's pretty-printed with 2-space indentation. If it decodes but isn't JSON, you see the decoded text with a note. A malformed percent sequence gets a short error.
Copy the formatted JSON
Click Copy to copy the decoded JSON to your clipboard (or the decoded text, if it wasn't JSON). From there, paste it into your code, a JSON validator, or a bug report.
Common Use Cases
Inspecting API Query Parameters
When debugging API calls, the query string often contains URL-encoded JSON parameters that are hard to read. Paste them here to see the raw JSON structure instantly.
Recovering Shared State Links
Single-page apps often store state as URL-encoded JSON. Decoding these lets you inspect, modify, or reproduce the application state without running the app.
Log File Analysis
Server and CDN access logs frequently contain URL-encoded JSON in request paths or query strings. Decode them here to read the original payloads.
Testing and QA
QA engineers can decode the JSON parameters sent in automated test requests to verify the payloads match the expected schema, without needing to intercept raw network traffic.
Frequently Asked Questions
What if the decoded string is not valid JSON?
You still get the decoded text in the output panel, under a note saying it isn't valid JSON, and Copy gives you that text. That usually means the value was truncated, or there's more than one parameter in what you pasted. Paste just the value after =.
What is the difference between decodeURIComponent and decodeURI?
decodeURIComponent decodes all percent-encoded sequences including %2F (/), %3F (?), etc. decodeURI leaves URL structural characters encoded. For decoding JSON values from a query string, decodeURIComponent is correct.
What happens if the input contains invalid percent sequences?
If the input contains a malformed sequence (e.g., %ZZ or a lone %), decodeURIComponent throws a URIError. This tool catches that error and shows a descriptive message.
Does my data leave my browser?
No. All decoding and formatting happens entirely in your browser. Your data is never transmitted to any server.
How do I encode JSON for a URL?
Use the JSON URL Encoder tool, which applies encodeURIComponent() to your JSON string.
Related Tools
Explore more JSON and URL utilities on jsonparser.ai.