JSON Wrench

Extract JSON from Log Lines

Input
All processing happens in your browser. Your JSON is never uploaded.
Output
Paste JSON on the left. It's checked as you type. Broken JSON gets an exact error location and a one-click fix.

Application logs often embed JSON after a timestamp, log level and message, which makes it hard to read and impossible to parse directly. Paste the whole line above and press Fix: the prefix is removed and the JSON is formatted.

Example

Input
2026-10-09T12:01:44Z INFO  order.created {"id": 42, "total": 19.99, "items": ["book", "pen"]}
Result in JSON Wrench
{
  "id": 42,
  "total": 19.99,
  "items": [
    "book",
    "pen"
  ]
}

What it handles

  • Prefixes such as timestamps, [INFO] or ERROR tags and messages before the first { or [.
  • Several JSON objects pasted together, such as NDJSON or JSON Lines, which become one JSON array.
  • Escaped payloads like "{\"id\":42}" pasted on their own, which are unescaped automatically.
  • Python dicts printed into the log, with single quotes and True, False or None.
  • Lines that were cut off by a log length limit: missing brackets are closed.

Example: several log lines at once

Paste NDJSON like {"level": "info"} and {"level": "warn"} on separate lines, press Fix, and you get a single array containing both objects, ready to explore in the tree view or copy into a script.

Private by design

Logs often contain user data, tokens and internal hostnames. JSON Wrench processes everything in your browser, so log contents are never uploaded.

Frequently asked questions

Can I paste many log lines at once?

Yes, if each line is just a JSON object (NDJSON). Lines that each have their own text prefix should be pasted one at a time, or cleaned with a tool like jq first.

Are my logs uploaded?

No. Extraction and formatting run in your browser.

More JSON tools