Developer tools

CSV ↔ JSON converter

Move tabular data between CSV and JSON without losing columns.

Table input

UTF-8 CSV up to 2 MB; 50,000 rows, 200 columns and 500,000 cells. Values stay as strings, so leading zeroes survive.

Header names are trimmed. Empty names become column_N; duplicate names get _2, _3 and a visible warning.

Cleanup before conversion

Order: trim, remove empty rows, remove duplicates, then filter. Leave both filter fields empty to keep every row.

Result

No result yet. Paste a table or load a file, set the options and start the conversion.

CSV to JSON

The first row is a header by default; clear that option and columns are named column_1, column_2 and so on. Header names are trimmed. An empty name becomes column_N; a duplicate is renamed with a _2, _3 suffix and the rename is listed in the result. Rows with a different cell count are rejected by default. The padding option fills missing cells with empty strings and names extra columns instead of dropping them. All cell values remain strings, so 00123, long identifiers and Unicode survive.

JSON to CSV

The top level must be an array of objects. Columns are the union of keys in first-seen order, so a key missing from one row still gets a column. Missing keys and JSON null become empty cells. Nested objects and arrays are serialized as compact JSON in that cell, not discarded. Cells that begin with a spreadsheet formula character are prefixed with an apostrophe, and the result reports how many changed; ordinary negative numbers such as-12.5 are left alone. The header row is optional, and CSV can be split into a ZIP of row-count parts.

Cleanup order

Trim spaces around values, remove rows whose cells are all empty, remove exact duplicate rows while keeping the first, then filter by one column. Filter matching is case-insensitive and needs an exact header name. Warnings in the result state what changed.

Example

Example CSV

id,name,city
001,Ada,"Zürich, CH"
002,李雷,東京

Converts to two JSON objects and keeps the leading zeroes inid.

Limits and privacy

CSV up to 2 MB or JSON up to 1 MB, with at most 50,000 rows, 200 columns and 500,000 cells. A split ZIP is limited to 200 CSV files. Delimiters are detected for CSV input and chosen explicitly for CSV output. Everything is processed in this tab; rows, filenames and output are not uploaded or sent to analytics.