Skip to content
jc-rs
GitHub

Structured table to JSON

ASCII Table to JSON Converter

jc-rs reads the header and column positions in an aligned terminal table, ignores common border and row-separator styles, and emits one object for each single-line data row.

asciitable--asciitablev1.2.0

fileslurpable

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.

browser · WebAssembly
Loading the local parser.
inputeditable
jc-rs --asciitableJSON
Use the Left and Right arrow keys to highlight the matching value in the input.
[
  {
    "count": "3",
    "name": "api",
    "status": "ready"
  },
  {
    "count": "1",
    "name": "worker",
    "status": "pending"
  }
]

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 table with one header row and one physical line per data row. Plain fixed-width tables, pipe-based Markdown tables, and common ASCII or box-drawing borders are accepted; row separators and ANSI terminal color sequences are ignored. In plain tables, column headers need clear spacing and should be unique.

What the JSON contains

  • Each data row becomes one object in an array; separator lines do not become records.
  • Header labels are normalized to lowercase keys with snake-case-style separators.
  • Cell values remain strings, and an empty cell becomes null.
  • Use the multiline-table parser when one logical row spans several physical lines.

What you can do here

  • Convert an ASCII table to JSON records
  • Parse a Markdown or Unicode table from terminal output
  • Convert a fixed-width table without treating prose as tabular data

Use the same parser in a shell

$ cat table.txt | jc-rs --asciitable

The 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

noneThe reference corpus ships no oracle-valid fixture for this parser, so the differential cannot speak for it. That is reported, not hidden.

Magic syntax

not availableThis parser reads a file or a string rather than a command, so there is nothing for jc-rs to run. Pipe it in.

Source: crates/jc-rs-parsers/src/misc/asciitable.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