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)
→ Parse this console log text into structured JSON.
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.
Works with:
- API responses
- Nested JSON
- Arrays & objects
Example: input → output
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"}[ { "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.0Description
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
| Field | Type | Default | Description |
|---|---|---|---|
| Include Uncaught Errors | boolean | true | Parse Uncaught (in promise) ErrorType: message lines into structured error objects |
| Include Parse Failures | boolean | false | Include entries for lines that look like JSON but fail to parse (useful for debugging malformed output) |
| Include Labeled Messages | boolean | true | Parse [Label]: message format into structured entries (used by React Flow, webpack, Vite, and custom loggers) |
| Include Stack Traces | boolean | false | Parse stack trace lines in Chrome/Firefox (function @ file:line) and Node.js (at function (file:line:col)) formats |
| Group Stack Traces with Errors | boolean | true | Attach stack frames to preceding runtime errors as stackTrace array (requires Include Stack Traces to be enabled) |
| Auto-Detect Severity Level | boolean | true | Detect 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 definedBecomes:
{
"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:12Node.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 allConfig: 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
| Name | Type | Default | Description |
|---|---|---|---|
| Include Uncaught Errors | boolean | true | Parse Uncaught (in promise) ErrorType: message lines into structured error objects |
| Include Parse Failures | boolean | false | Include entries for lines that look like JSON but fail to parse (useful for debugging malformed output) |
| Include Labeled Messages | boolean | true | Parse '[Label]: message' format into structured entries (used by React Flow, webpack, Vite, and custom loggers) |
| Include Stack Traces | boolean | false | Parse stack trace lines in Chrome/Firefox (function @ file:line) and Node.js (at function (file:line:col)) formats |
| Group Stack Traces with Errors | boolean | true | Attach stack frames to preceding runtime errors as stackTrace array (requires Include Stack Traces to be enabled) |
| Auto-Detect Severity Level | boolean | true | Detect error/warn/debug/info levels from keywords in labeled messages (error, warning, debug, etc.) |
Examples
Parse this console log text into structured JSON.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]API Usage
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}}'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]