Parse NDS Log (Free Online Tool)
Parse Named Debug Structured log lines into structured JSON records
Paste your JSON → Get results instantly (no signup)
→ Parse this NDS log text into structured JSON.
1[2 {3 "ts": "2026-03-03T07:20:35.200Z",4 "level": "debug",5 "event": "worker_run_start",6 "source": "logger.ts:173"7 },8 {9 "ts": "2026-03-03T07:20:35.202Z",10 "level": "debug",11 "event": "debug_config_synced",12 "source": "logger.ts:173"13 }14]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", "source": "logger.ts:173" }, { "ts": "2026-03-03T07:20:35.202Z", "level": "debug", "event": "debug_config_synced", "source": "logger.ts:173" }]Related tools
Advanced usage (optional)
Parse NDS Log
v1.0.0Description
Parse NDS Log
Parse Named Debug Structured (NDS) log format into a JSON array. NDS is a simple structured log format where every line follows the pattern:
source:line JSONUse Cases
- Parse application debug logs emitted by structured loggers
- Convert copy-pasted NDS output into analyzable JSON
- Process log files where every entry is a JSON object prefixed with source location
Format
Each line of NDS log consists of:
- Source prefix — a file path with line number (e.g.,
logger.ts:173,/src/logger.ts:173,webpack://src/logger.ts:173:5) - Space separator
- JSON body — a valid JSON object or array
Example 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"}Configuration
| Field | Type | Default | Description |
|---|---|---|---|
| Include Source | boolean | true | Include the source file:line prefix as a source field in each entry |
| Include Parse Failures | boolean | false | Include entries for lines with valid prefix but invalid JSON |
| Include Line Numbers | boolean | false | Add a _line field with the original line number |
| Include Raw Body | boolean | false | Add a __raw field with the original body text before parsing |
| Strict Prefix Mode | boolean | true | Only parse lines with a valid source:line prefix; skip bare JSON lines |
Reserved Fields
The following fields are injected by the parser and use underscore prefixes to avoid collision with user data:
source— thefile:lineprefix_line— original line number in the input__raw— original body text before parsing__parseError— marks entries that failed to parse
Differences from Parse Console Log
This utility is a simplified, focused alternative to Parse Console Log. Use this when:
- Your logs are exclusively NDS format (no errors, labels, or stack traces)
- You want a faster, simpler parse with a cleaner output shape
- You don't need error/warning level detection or labeled message parsing
Use Parse Console Log instead when your input contains mixed formats (errors, [Label]: message, stack traces, etc.).
Configuration
| Name | Type | Default | Description |
|---|---|---|---|
| Include Source | boolean | true | Include the source file:line prefix as a 'source' field in each parsed entry |
| Include Parse Failures | boolean | false | Include entries for lines that have a valid prefix but fail JSON parsing (useful for debugging malformed NDS output) |
| Include Line Numbers | boolean | false | Add a '_line' field with the original line number from the input text |
| Include Raw Body | boolean | false | Add a '__raw' field with the original body text before parsing (enables diffing original vs transformed) |
| Strict Prefix Mode | boolean | true | Only parse lines that have a valid source:line prefix (e.g., 'logger.ts:173'). When disabled, bare JSON lines are also parsed. |
Examples
Parse this NDS log text into structured JSON.1[2 {3 "ts": "2026-03-03T07:20:35.200Z",4 "level": "debug",5 "event": "worker_run_start",6 "source": "logger.ts:173"7 },8 {9 "ts": "2026-03-03T07:20:35.202Z",10 "level": "debug",11 "event": "debug_config_synced",12 "source": "logger.ts:173"13 }14]API Usage
curl -X POST https://your-domain.com/api/v1/utilities/debug.parse-nds-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":{"includeSource":true,"includeParseFailures":false}}'1[2 {3 "ts": "2026-03-03T07:20:35.200Z",4 "level": "debug",5 "event": "worker_run_start",6 "source": "logger.ts:173"7 },8 {9 "ts": "2026-03-03T07:20:35.202Z",10 "level": "debug",11 "event": "debug_config_synced",12 "source": "logger.ts:173"13 }14]