ROWS, WITHOUT THE GUESSWORK

From rows to JSON.
And back.

A careful CSV, TSV & JSON converter. Keep leading zeros and large numbers intact, choose how columns become properties, and inspect your data before downloading.

LOCAL PROCESSINGEXACT NUMBER TOKENSCOMPLETE EXPORTS
CSV, TSV & JSON CONVERTER

Move your data forward.

Cell values stay strings. Leading zeros, dates and identifiers are not guessed.

Paste text or open one UTF-8 file · up to 1 MiB

Headers must be unique and nonempty. Uncheck to generate column1, column2…

{ rows }

Structured. Inspectable.

Your complete converted output and a readable table preview will appear here.

NO UPLOAD · NO SIGNUP
Data is processed locally. No upload, account or saved input history.
01 / DEFINE

Make the format explicit.

Pick a delimiter and decide whether the first record names your properties. Arrays retain every record, including uneven rows.

02 / INSPECT

See what changed.

Review missing fields, null values and guarded cells. CSV cannot carry JSON types, so conversion choices stay visible.

03 / EXPORT

Keep all your data.

Copy or download the complete output. Table pagination and shortened previews never truncate the file.

Know your conversion.

What does this converter support?

Convert comma-separated CSV, tab-separated TSV, semicolon or pipe-delimited text into JSON objects or arrays. Convert a JSON array of objects or a JSON array of arrays into CSV or TSV. Cells can contain strings, numbers, booleans or null. Nested objects, nested arrays inside cells, mixed object/array rows and duplicate JSON object keys are rejected so data is not silently flattened or overwritten.

Will numbers, leading zeros and special names stay accurate?

CSV cells become JSON strings without automatic number or date conversion, preserving leading zeros and long identifiers. JSON numbers are read with a strict token-preserving parser and written to CSV using their original number text, including large integers and exponent notation. Opening CSV in a spreadsheet can still change numbers or dates. Object names such as __proto__ are treated as data. JSON string escapes are decoded into their actual cell text; unpaired Unicode surrogates are rejected.

How are headers and uneven rows handled?

For JSON objects, use the first CSV record as unique, nonempty property names or generate column1, column2 and so on. Object conversion requires equal row widths. Choose JSON arrays to keep every CSV record, including an apparent header and uneven rows. JSON object arrays export a union of property names in first-seen order; missing properties produce empty cells and are counted. JSON array rows may have different lengths. A header-only CSV converted to objects produces an empty JSON array; the header cannot be recovered from that empty array.

What does automatic delimiter detection do?

Automatic detection checks comma, tab, semicolon and pipe candidates using the complete input. It chooses a consistent candidate with more than one field only when the result is unambiguous. If more than one delimiter fits, or the input is a single column, choose the delimiter explicitly. Spaces are significant. Quoted fields accept doubled quotes and embedded delimiters or line endings; text after a closing quote must be a delimiter or a line ending. CRLF, LF and CR input separators are accepted. Tab mode uses CSV-style quoting and multiline fields; TSV dialects without quote handling may interpret those differently.

What does the spreadsheet formula guard do?

The default CSV guard prefixes an apostrophe to cells that could begin a spreadsheet formula, including leading controls or whitespace, formula prefixes and full-width variants. It changes those cells and reports how many were guarded. This reduces risk but cannot guarantee safe interpretation in every spreadsheet or after saving and reopening. Turn it off only when exact cell text is required and review the destination application. CSV quotes alone do not prevent formulas.

How are null, empty text and missing fields represented?

JSON null can become an empty cell or the literal text null. Missing object properties always become empty cells. CSV cannot preserve the distinction between an empty string, a null mapped to empty, and a missing value. Reverse conversion deliberately keeps CSV cells as strings, so it does not reconstruct JSON scalar types or missing properties. The result lists null and missing-cell counts. This is a data conversion, not a guaranteed type-preserving round trip.

What are the file, preview and output limits?

Use one UTF-8 file or pasted text up to 1 MiB, with at most 5000 CSV records including any header, 200 columns and 50000 cells. JSON object export allows up to 4999 data records plus its header; array rows allow 5000. JSON parsing also has a 50000-value and 128-container nesting limit. Output is limited to 4 MiB. A leading UTF-8 BOM is removed and reported; invalid UTF-8 is rejected. Untouched file line endings inside quoted cells are retained even if the textarea display normalizes them. Editing may normalize line endings. Output shows 20000 Unicode code points; the table shows 100 rows per page and at most 20 columns, with 200 code points per cell unless full cells are enabled. Copy and download always contain the complete output.

Is my data uploaded or saved?

Conversion happens in this browser without uploading data, fetching URLs, evaluating input or storing input history. Clear removes the input and temporary download. Normal website analytics and feedback services may still load. This tool reads UTF-8 plain text, not XLSX, XLS or other binary spreadsheet files. Use the JSON formatter for deeper JSON inspection and Text Compare to review changes.