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
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": "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 --tsvThe 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/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