Multiline table to JSON
Multiline ASCII Table to JSON Converter
This parser handles pretty-printed tables in which one logical row wraps across several terminal lines. Row separators define record boundaries, and consecutive lines from the same cell stay together.
asciitable_m--asciitable-mv1.2.0
Try the real parser
Paste input on the left. The same Rust parser that ships in the binary runs locally in this page and writes its JSON on the right.
[ { "name": "api", "notes": "ready\nprimary" }, { "name": "worker", "notes": "pending\nbatch" } ]
Hover over a JSON value, or focus the JSON pane and use the Left and Right arrow keys, to trace it to the input. Parsing runs inside this tab in WebAssembly. Pasted text and opened files are not uploaded. If site analytics is enabled, it may receive page-level visit data such as the URL, title, and referrer; text in this editor is never included.
Accepted input
A pretty table drawn with ASCII or Unicode column borders, with a header area and a recognized separator between logical rows. Headers and data may span several lines. Simple whitespace-aligned and Markdown tables are rejected with a direction to use asciitable instead.
What the JSON contains
- Each bordered row group becomes one JSON object, regardless of how many physical lines its cells occupy.
- Lines from the same cell are trimmed and joined with
\n, preserving the visible wrap in a machine-readable string. - Multiline header parts are combined with underscores and normalized to lowercase keys.
- Cell values remain strings; cells with no content become
null.
What you can do here
- Convert a multiline terminal table to JSON
- Parse wrapped cells in an ASCII or Unicode table
- Keep each multiline table row together in one JSON object
Use the same parser in a shell
$ cat multiline-table.txt | jc-rs --asciitable-mThe browser tool is for inspection. The CLI form is the useful one in scripts, pipes, containers, and repeatable checks.
Continue with the parsed JSON
Fixture coverage
Magic syntax
Source: crates/jc-rs-parsers/src/misc/asciitable_m.rs. jc-rs targets the schemas defined by the original Python tool. Fixture coverage above is the measured evidence for this parser; test the inputs your pipeline depends on. Compare