JSON URL Decode
Paste a URL-encoded JSON string and get back the original JSON, optionally pretty-printed. Supports both standard percent encoding and form encoding.
Last updated: May 27, 2026
Find this tool useful? Support the project to keep it free!
Buy me a coffeeWhat is JSON URL Decode?
Server logs, debug URLs, and form-encoded POST bodies often contain JSON wrapped in URL encoding. The encoded form is hard to read — `%7B%22name%22%3A%22Alice%22%7D` instead of `{"name":"Alice"}`. This tool reverses that, decoding percent-escapes back to their original characters and then parsing and pretty-printing the resulting JSON.
Two decoding modes are supported. The default (`decodeURIComponent`) is the inverse of standard URL encoding. Form mode additionally converts `+` characters back to spaces, matching the way HTML forms submit `application/x-www-form-urlencoded` payloads.
How to Use JSON URL Decode
Paste a URL-encoded JSON string into the input panel.
Enable "Form mode" if the source is form-encoded (uses + for spaces).
Toggle "Pretty print" and pick an indent.
Copy the decoded JSON.
Common Use Cases
- Decoding JSON from a URL query parameter for inspection.
- Reading JSON pasted from a server log where the URL was logged verbatim.
- Inspecting form-POST bodies that contain JSON values.
- Round-tripping with JSON URL Encode for testing or debugging.
Example Input and Output
A percent-encoded JSON string is decoded and pretty-printed.
%7B%22name%22%3A%22Alice%22%2C%22age%22%3A30%7D{
"name": "Alice",
"age": 30
}Privacy
All decoding happens in your browser. No URLs or JSON are sent to a server.
Double-encoding
If your URL was encoded twice (e.g., a service that wraps an already-encoded value), you will see literal % sequences in the first decode. Run the output through this tool again to fully decode.

