Skip to content
jc-rs
GitHub

Private TSV to JSON converter

TSV to JSON Converter and Viewer

Header-based tab-separated data becomes one JSON object per row. jc-rs keeps every cell as text, so identifiers and zero-padded values are not silently converted to numbers.

tsv--tsvv1.0.0

Universalfile

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 --tsvJSON
Use the Left and Right arrow keys to highlight the matching value in the input.
[
  {
    "name": "Ada",
    "role": "admin"
  },
  {
    "name": "Lin",
    "role": "reader"
  }
]

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

Non-empty UTF-8 text with tab characters between fields and a header in the first record. A UTF-8 BOM is stripped. Quoted cells can contain tabs or newlines; blank lines between records are ignored.

What the JSON contains

  • Every data record becomes an object in a JSON array, keyed by the first record's column names.
  • Every cell remains a JSON string, including numeric-looking and boolean-looking values.
  • A row longer than the header receives fallback keys such as c2; a shorter row contains only the fields actually present.
  • Quoted multiline cells are accumulated until the record closes instead of being split into separate rows.

What you can do here

  • Convert a TSV file to an array of JSON objects
  • Inspect tab-separated values without changing their types
  • Parse quoted and multiline TSV records

Use the same parser in a shell

$ cat data.tsv | jc-rs --tsv

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

1/1oracle-valid pairs match under the published structural JSON comparison

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/format/tsv.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