Convert between CSV and JSON in both directions, with automatic type inference and a proper RFC 4180 parser (quoted fields, escaped quotes, embedded newlines). Zero dependencies.
The companion to csv-peek (which previews CSVs). Unlike csvkit (Python) or paste-it-here websites, this runs locally and never uploads your data.
npm install -g csv2jsonOr without installing:
npx csv2json data.csvcsv2json users.csv # CSV → JSON on stdout
csv2json users.csv -o users.json # CSV → JSON file
csv2json users.json -o users.csv # JSON → CSV
csv2json data.tsv -d tab # Tab-separated input
cat export.csv | csv2json - --compact # From stdin, single-line JSONDirection is inferred from the file extension (or the -o target), and falls back to sniffing the content. Force it with --from csv|json.
users.csv:
id,name,active,score
1,Alice,true,9.5
2,Bob,false,7csv2json users.csv:
[
{ "id": 1, "name": "Alice", "active": true, "score": 9.5 },
{ "id": 2, "name": "Bob", "active": false, "score": 7 }
]Note that 1→number, true→boolean, 9.5→float automatically. Disable with --no-type.
Reverse it — csv2json users.json -o users.csv — and you get the CSV back.
| CSV value | JSON value |
|---|---|
42 |
42 (number) |
3.14 |
3.14 (number) |
true / false |
boolean |
null |
null |
| empty cell | "" (or null with --empty-as-null) |
| anything else | string |
Turn it off with --no-type to keep every value a string.
| Flag | Description |
|---|---|
--from <csv|json> |
Force input format (for stdin / odd extensions) |
-o, --out <file> |
Write to a file (format from its extension) |
-d, --delimiter <d> |
, ; | or tab (default: auto-detect) |
--no-header |
CSV has no header → arrays of values |
--no-type |
Keep all values as strings |
--empty-as-null |
Empty CSV cells become null |
--skip-empty |
Omit empty cells from JSON objects |
--pretty / --compact |
JSON formatting (pretty is default) |
When converting JSON → CSV, nested objects/arrays in a cell are serialized as JSON strings (and properly quoted). The header row is the union of all keys across every record, in first-seen order.
MIT
csv to json · json to csv · convert csv · csv json converter · csvkit alternative · rfc 4180 · parse csv · tsv to json · zero dependencies · cli
Built to solve, shared to help — Rushabh Shah 🛠️✨
One of 40+ zero-dependency developer CLI tools — no node_modules, ever.