Parse NDS Log (Free Online Tool)

Parse Named Debug Structured log lines into structured JSON records

Paste your JSON → Get results instantly (no signup)

⚡ Instant resultsNo signupRuns in your browser
Try examples:

Parse this NDS 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 "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.

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",
"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.0
Debug
string

Description

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 JSON

Use 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:

  1. Source prefix — a file path with line number (e.g., logger.ts:173, /src/logger.ts:173, webpack://src/logger.ts:173:5)
  2. Space separator
  3. 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

FieldTypeDefaultDescription
Include SourcebooleantrueInclude the source file:line prefix as a source field in each entry
Include Parse FailuresbooleanfalseInclude entries for lines with valid prefix but invalid JSON
Include Line NumbersbooleanfalseAdd a _line field with the original line number
Include Raw BodybooleanfalseAdd a __raw field with the original body text before parsing
Strict Prefix ModebooleantrueOnly 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 — the file:line prefix
  • _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

NameTypeDefaultDescription
Include SourcebooleantrueInclude the source file:line prefix as a 'source' field in each parsed entry
Include Parse FailuresbooleanfalseInclude entries for lines that have a valid prefix but fail JSON parsing (useful for debugging malformed NDS output)
Include Line NumbersbooleanfalseAdd a '_line' field with the original line number from the input text
Include Raw BodybooleanfalseAdd a '__raw' field with the original body text before parsing (enables diffing original vs transformed)
Strict Prefix ModebooleantrueOnly parse lines that have a valid source:line prefix (e.g., 'logger.ts:173'). When disabled, bare JSON lines are also parsed.

Examples

AI Prompt
Parse this NDS 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 "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]
Config
Include Source
ON
Include Parse Failures
OFF

API Usage

POST /api/v1/utilities/debug.parse-nds-log
Example:
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}}'
Response
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]