All Tools
Categories
XML Tools 64 Email Marketing Tools 55 Import-Export Tools 50 JSON Tools 36 Text Tools 12 Shipping Freight Tools 5 Calculator 4 Marketing Tools 3
About Contact Privacy

JSON URL Decoder

Decode URL-escaped JSON back to readable JSON. Handles + signs, malformed percent escapes, and can pull the JSON value straight out of a full URL. No uploads.

Encoded Input
Waiting for input
JSON Output
Pasted a whole URL? Turn on the extraction option — the tool finds the query parameter whose value decodes to valid JSON and names it for you.

About JSON URL Decoder

Sooner or later you will stare at a URL that contains %7B...%7D and wonder what it really says. Somewhere inside that query string is a JSON payload — encoded to survive the URL — and decoding it by hand is a minefield: the + and %20 disagreement over spaces, malformed percent sequences that make decodeURIComponent throw, and the ever-present risk of pasting the entire URL instead of just the encoded value and getting a wall of gibberish.

JSON URL Decoder is built for exactly those failures. It decodes single encoded values, or with one toggle it parses a full URL — extracting the query string, decoding every parameter, and returning the one that holds valid JSON with the parameter named. Plus signs decode as spaces when the source used form encoding. Malformed escapes no longer abort the decode; they are left literal with a warning instead. The result is pretty-printed JSON you can copy or download, and everything runs in your browser.

Features

  • Full-URL extraction: Handles a pasted URL with ?key=value pairs and returns the parameter that holds valid JSON — named and decoded.
  • Plus-as-space mode: Decodes form-style + signs as spaces when the sender used form encoding, with live feedback to pick the right mode.
  • Malformed-escape recovery: Broken % sequences no longer crash the decode; they are left literal with a clear warning.
  • Pretty-printed JSON: Valid results are indented for reading, ready to copy or download.
  • Honest non-JSON handling: If the decoded text is not JSON it is still shown, with a warning instead of an error.
  • Live conversion: Output updates as you type — toggle options and watch the result change instantly.
  • Copy and download: One click to clipboard or to a decoded.json file.
  • Private: All decoding happens client-side; nothing is uploaded.

How to Use

  1. Paste the encoded value or a full URL into the input pane.
  2. If you pasted a full URL, enable the URL extraction option. The tool finds the query parameter whose value decodes to valid JSON and tells you which one it was.
  3. Toggle plus-as-space if the sender used form-style encoding — the output changes live, so the correct setting is visible immediately.
  4. Read the result. Valid JSON comes back pretty-printed. Non-JSON content is shown with a warning so nothing is lost.
  5. Copy or download the decoded JSON.

Examples

Example 1 — Debugging a shared link. A colleague sends https://app.example.com/import?source=webhook&payload=%7B%22region%22%3A%22eu-west%22... Paste the full URL, enable URL extraction, and the payload JSON is returned with the note that it came from the payload parameter.

Example 2 — Support ticket archaeology. A customer pastes a URL from a broken flow. The state JSON is hidden in the fragment. Full-URL mode decodes it, and the support engineer finally sees the exact configuration that caused the failure.

Example 3 — Form-style query values. A legacy form builds its URL with + for spaces: ?data=%7B%22name%22+%3A+%22Ada%22%7D. Decoding with plus-as-space on returns the JSON correctly, where a naive decoder would produce + signs in the output.

Example 4 — Double-checking your own encoder. Values produced by the JSON URL Encoder — including pretty-printed and plus-mode variants — decode here byte for byte, giving you a verified round trip before the URL ships to production.

Benefits

  • No more pasting the whole URL by accident: URL extraction does the right thing automatically.
  • Works with real-world encoders: Plus-mode and malformed-escape recovery handle the messy inputs that crash naive tools.
  • See what was actually sent: Non-JSON payloads are shown rather than rejected, so debugging never hits a dead end.
  • Verified round trips: Pair with the URL encoder for byte-exact encode and decode.
  • Private by design: URLs and payloads never leave your browser.

Frequently Asked Questions

I pasted a full URL but the decode is garbage — what went wrong?
A full URL contains the encoded value inside a query parameter, surrounded by reserved characters like ? and = and &. Decoding the whole URL produces noise. Switch on the full-URL option and the tool extracts the query string, decodes each parameter value, and returns the one that holds valid JSON — with a note of which parameter it found.
Should + signs be decoded as spaces?
It depends on the sender. Form-style encoders replace spaces with +; pure percent-encoding uses %20. If your source was a form or a query string written by form tooling, turn on the plus-as-space option. If the value still looks wrong, toggle it — the live preview makes the correct setting obvious in a second.
What if the string contains broken percent escapes like % or %2?
decodeURIComponent throws on malformed sequences, which is why naive decoders crash halfway through a copied value. This tool recovers: invalid percent sequences are left literal instead of aborting, so you still get a readable result and a warning rather than a dead end.
The decoded text is not JSON. What now?
The tool shows the decoded text anyway with a warning, so you can see what the payload actually contains. The content may have been JSON that was double-encoded, plain text, or data from a different encoder — you lose nothing, and you know the format mismatch immediately.
Is this the exact reverse of the JSON URL Encoder?
Yes. Values produced by the encoder — including the plus-mode variant and pretty-printed form — decode back to the original JSON here, byte for byte. The two tools are designed as a round trip.
Is my URL sent to a server?
No. Extraction, decoding and pretty-printing all run in your browser. Nothing is uploaded, logged or stored.