Parse Console Log (Free Online Tool)

Parse browser DevTools console text into a structured JSON array of console entries

Paste your JSON → Get results instantly (no signup)

⚡ Instant resultsNo signupRuns in your browser
Try examples:

Parse this console log text into structured JSON.

logger.ts:173 {"ts":"2026-03-03T07:20:35.200Z","level":"debug","event":"worker_run_start"}
logger.ts:173 {"ts":"2026-03-03T07:20:35.202Z","level":"debug","event":"debug_config_synced"}
Output
1[
2 {
3 "ts": "2026-03-03T07:20:35.200Z",
4 "level": "debug",
5 "event": "worker_run_start"
6 },
7 {
8 "ts": "2026-03-03T07:20:35.202Z",
9 "level": "debug",
10 "event": "debug_config_synced"
11 }
12]

Love the result?

Use this exact pipeline in your app, backend, or LLM workflow.

No setup needed. Works with curl, Node, Python.

Uses example data. For edited input, copy from the playground.

Read integration guide

Works with:

  • API responses
  • Nested JSON
  • Arrays & objects

Example: input → output

Input / Output
Input
logger.ts:173 {"ts":"2026-03-03T07:20:35.200Z","level":"debug","event":"worker_run_start"}
logger.ts:173 {"ts":"2026-03-03T07:20:35.202Z","level":"debug","event":"debug_config_synced"}
Output
[
{
"ts": "2026-03-03T07:20:35.200Z",
"level": "debug",
"event": "worker_run_start"
},
{
"ts": "2026-03-03T07:20:35.202Z",
"level": "debug",
"event": "debug_config_synced"
}
]

Related tools

Advanced usage (optional)

Parse Console Log

v1.0.0
Debug
string

Description

Parse Console Log

Parse browser DevTools console output into a structured JSON array.

Use Cases

  • Convert browser console logs to analyzable JSON data
  • Extract structured data from copy-pasted DevTools output
  • Debug logging issues by parsing and reformatting console output

Configuration

FieldTypeDefaultDescription
Include Uncaught ErrorsbooleantrueParse Uncaught (in promise) ErrorType: message lines into structured error objects
Include Parse FailuresbooleanfalseInclude entries for lines that look like JSON but fail to parse (useful for debugging malformed output)
Include Labeled MessagesbooleantrueParse [Label]: message format into structured entries (used by React Flow, webpack, Vite, and custom loggers)
Include Stack TracesbooleanfalseParse stack trace lines in Chrome/Firefox (function @ file:line) and Node.js (at function (file:line:col)) formats
Group Stack Traces with ErrorsbooleantrueAttach stack frames to preceding runtime errors as stackTrace array (requires Include Stack Traces to be enabled)
Auto-Detect Severity LevelbooleantrueDetect error/warn/debug/info levels from keywords in labeled messages (error, warning, debug, etc.)

What Gets Parsed

JSON Objects

Lines containing valid JSON objects are parsed and added to the output array:

logger.ts:173 {"ts":"2026-03-03T07:20:35.200Z","level":"debug","event":"worker_run_start"}

Uncaught Errors

When enabled, JavaScript runtime errors are parsed into structured objects:

utils.js:7 Uncaught (in promise) ReferenceError: pako is not defined

Becomes:

{
  "type": "runtime_error",
  "level": "error",
  "error": {
    "name": "ReferenceError",
    "message": "pako is not defined"
  }
}

Parse Failures

When enabled, lines that look like JSON but fail to parse are included with error details:

{
  "__parseError": true,
  "line": 2,
  "raw": "{broken json}",
  "error": "Expected double-quoted property name in JSON at position 1"
}

Labeled Console Messages

Framework-specific console messages with labels are parsed into structured objects. Enabled by default.

Supported formats:

  • Simple: [Label]: message
  • With explicit level: [Label] [error]: message
  • With JSON payload: [Label]: {"json": "data"}

Examples:

installHook.js:1 [React Flow]: It looks like you've created a new nodeTypes
[Validator] [error]: Missing required field 'email'

Output:

[
  {
    "type": "labeled_message",
    "level": "info",
    "label": "React Flow",
    "message": "It looks like you've created a new nodeTypes"
  },
  {
    "type": "labeled_message",
    "level": "error",
    "label": "Validator",
    "message": "Missing required field 'email'"
  }
]

Level Detection:
The parser can auto-detect severity levels from:

  • Explicit level tags: [Label] [warn]: message
  • Keywords in label or message: "error", "warning", "debug", "fail", "critical", etc.
  • Defaults to "info" if no indicators found

When a labeled message contains valid JSON, it's extracted into the jsonPayload field:

{
  "type": "labeled_message",
  "level": "debug",
  "label": "API Response",
  "message": "",
  "jsonPayload": { "status": 200, "data": [...] }
}

Stack Traces

Stack trace lines are parsed when enabled, supporting multiple formats:

Chrome/Firefox format:

overrideMethod @ installHook.js:1
handleClick @ app.ts:95:12

Node.js format:

    at Function.run (/app/server.js:10:5)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)

Output:

{
  "type": "stack_trace",
  "functionName": "overrideMethod",
  "file": "installHook.js",
  "line": 1,
  "rawFrame": "overrideMethod @ installHook.js:1"
}

Grouping:
When both "Include Stack Traces" and "Group Stack Traces" are enabled, stack frames immediately following an error are attached as a stackTrace array on the error object:

Uncaught ReferenceError: pako is not defined
    at Object.compress (utils.js:7:15)
    at main (app.js:10:5)

Output:

{
  "type": "runtime_error",
  "level": "error",
  "error": {
    "name": "ReferenceError",
    "message": "pako is not defined"
  },
  "stackTrace": [
    {
      "type": "stack_trace",
      "functionName": "compress",
      "file": "utils.js",
      "line": 7,
      "column": 15,
      "rawFrame": "    at Object.compress (utils.js:7:15)"
    },
    {
      "type": "stack_trace",
      "functionName": "main",
      "file": "app.js",
      "line": 10,
      "column": 5,
      "rawFrame": "    at main (app.js:10:5)"
    }
  ]
}

Examples

Basic JSON logs

Input:

logger.ts:173 {"ts":"2026-03-03T07:20:35.200Z","level":"debug","event":"worker_run_start"}
logger.ts:173 {"ts":"2026-03-03T07:20:35.202Z","level":"debug","event":"debug_config_synced"}

Output:

[
  { "ts": "2026-03-03T07:20:35.200Z", "level": "debug", "event": "worker_run_start" },
  { "ts": "2026-03-03T07:20:35.202Z", "level": "debug", "event": "debug_config_synced" }
]

Mixed with Uncaught errors

Input:

logger.ts:173 {"ts":"2026-03-03T07:20:35.200Z","level":"debug","event":"worker_run_start"}
utils.js:7 Uncaught (in promise) ReferenceError: pako is not defined
Some random console text
    at Object.compress (utils.js:7:15)

Output:

[
  { "ts": "2026-03-03T07:20:35.200Z", "level": "debug", "event": "worker_run_start" },
  { "type": "runtime_error", "level": "error", "error": { "name": "ReferenceError", "message": "pako is not defined" } }
]

Include parse failures

Input:

{"valid":true}
{broken json}
Not JSON at all

Config: Include Parse Failures = true

Output:

[
  { "valid": true },
  { "__parseError": true, "line": 2, "raw": "{broken json}", "error": "Expected double-quoted property name in JSON at position 1" }
]

Configuration

NameTypeDefaultDescription
Include Uncaught ErrorsbooleantrueParse Uncaught (in promise) ErrorType: message lines into structured error objects
Include Parse FailuresbooleanfalseInclude entries for lines that look like JSON but fail to parse (useful for debugging malformed output)
Include Labeled MessagesbooleantrueParse '[Label]: message' format into structured entries (used by React Flow, webpack, Vite, and custom loggers)
Include Stack TracesbooleanfalseParse stack trace lines in Chrome/Firefox (function @ file:line) and Node.js (at function (file:line:col)) formats
Group Stack Traces with ErrorsbooleantrueAttach stack frames to preceding runtime errors as stackTrace array (requires Include Stack Traces to be enabled)
Auto-Detect Severity LevelbooleantrueDetect error/warn/debug/info levels from keywords in labeled messages (error, warning, debug, etc.)

Examples

AI Prompt
Parse this console log text into structured JSON.
logger.ts:173 {"ts":"2026-03-03T07:20:35.200Z","level":"debug","event":"worker_run_start"}
logger.ts:173 {"ts":"2026-03-03T07:20:35.202Z","level":"debug","event":"debug_config_synced"}
Output
1[
2 {
3 "ts": "2026-03-03T07:20:35.200Z",
4 "level": "debug",
5 "event": "worker_run_start"
6 },
7 {
8 "ts": "2026-03-03T07:20:35.202Z",
9 "level": "debug",
10 "event": "debug_config_synced"
11 }
12]
Config
Include Uncaught Errors
ON
Include Parse Failures
OFF

API Usage

POST /api/v1/utilities/debug.parse-console-log
Example:
curl -X POST https://your-domain.com/api/v1/utilities/debug.parse-console-log \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"inputs":{"primary":"logger.ts:173 {\"ts\":\"2026-03-03T07:20:35.200Z\",\"level\":\"debug\",\"event\":\"worker_run_start\"}\nlogger.ts:173 {\"ts\":\"2026-03-03T07:20:35.202Z\",\"level\":\"debug\",\"event\":\"debug_config_synced\"}"},"config":{"includeErrors":true,"includeParseFailures":false}}'
Response
1[
2 {
3 "ts": "2026-03-03T07:20:35.200Z",
4 "level": "debug",
5 "event": "worker_run_start"
6 },
7 {
8 "ts": "2026-03-03T07:20:35.202Z",
9 "level": "debug",
10 "event": "debug_config_synced"
11 }
12]