Dev · 108 tools · nothing uploads

CSV/TSV to Markdown table

Turn CSV or TSV rows into a padded, pipe-delimited Markdown table with a chosen column alignment. Runs on your device, nothing is uploaded.

Input

Options

live

CSV/TSV to Markdown table checks your first line for whichever separator, tab or comma, appears more often, then delimits the file by that choice. It pads every column to its widest cell and writes a pipe-delimited table with the alignment you pick. Fewer cells than the widest row get padded with empty strings. No rows at all is refused first.

Questions

How does it decide between comma and tab?

It counts which separator appears more often in the file's first non-empty line and uses that one.

What alignments can I choose?

Left, center, right or none, applied to every column in the table.

What happens with uneven row lengths?

Shorter rows are padded with empty cells rather than the tool refusing.

What if the file has no rows?

The tool refuses, naming the file as having none.

Does it detect the delimiter per file or per line?

Per file, from the first line only; the rest of the file is parsed with that same delimiter.

Related Dev tools

n→nJSON format / validateParse, validate and pretty-print JSON, with a clear parse-error message if it is broken.Runs on each file you dropn→nJSON sort / minify / escapeSort object keys, minify to one line, or escape/unescape JSON for embedding inside another string.Runs on each file you dropn→nJSONPath queryQuery JSON with a JSONPath expression: dot/bracket access, wildcards (*), recursive descent (..). No filter expressions (?()) or slices; those need a full JSONPath engine this build does not have.Runs on each file you dropn→nJSON Schema generatorInfer a draft-07 JSON Schema from an example JSON document. Every observed key is marked required, arrays are typed to accept every observed element.Runs on each file you dropn→nJSON to TypeScriptJSON to TypeScript. Infers types from an example JSON document. Nested objects become named types by their key; mixed-type arrays fall back to a broad/any type.Runs on each file you dropn→nJSON to GoJSON to Go. Infers types from an example JSON document. Nested objects become named types by their key; mixed-type arrays fall back to a broad/any type.Runs on each file you dropn→nJSON to RustJSON to Rust. Infers types from an example JSON document. Nested objects become named types by their key; mixed-type arrays fall back to a broad/any type.Runs on each file you dropn→nJSON ↔ CSVConvert a flat JSON array of objects to CSV and back. CSV has no type system: JSON->CSV renders numbers/booleans/null as text and CSV->JSON always comes back as strings. A nested object or array field is refused by name rather than silently flattened. CSV parsing is fully quote-aware, embedded newlines included; a file with an unterminated quote is refused rather than guessed at.Runs on each file you drop