all tools

Data tools 15

Work on CSV, JSONL, Parquet and SQLite in the browser. Split, merge, dedupe, transpose and profile tabular data, or run SQL against a file with sql.js. Useful when a dataset holds customer records you cannot paste into an online converter.

CSV8

1→1Reorder / insert CSV columnsReorder (and drop) a CSV's columns by name, and optionally insert one new column with a constant value at a given position. Quote-aware. A record with a quoted field containing a literal newline stays one record.Takes one file1→1Map CSV column namesRename a CSV's header to a new schema ("old=new" pairs), and optionally drop every column that isn't named in the mapping. Column order and data are otherwise untouched. Quote-aware. A record with a quoted field containing a literal newline stays one record.Takes one file1→1Change CSV separatorRe-delimit a CSV (comma, semicolon, tab or pipe), auto-detecting the current separator when not told what it is. Quote-aware. A record with a quoted field containing a literal newline (including in the header) stays one record.Takes one file1→1Transpose CSVSwap a CSV's rows and columns. Column 1 becomes row 1, and so on. A ragged row (fewer cells than the widest row) is padded with empty cells rather than refused. Quote-aware. A record with a quoted field containing a literal newline stays one record, not two.Takes one file1→1Split CSV into partsCut a CSV into several smaller files of N data rows each, repeating the header in every part. Quote-aware: a record with a quoted field containing a literal newline stays one record.Takes one filen→1Merge CSV filesConcatenate several CSVs with the same header into one file, in the order given. Quote-aware. A record with a quoted field containing a literal newline stays one record.Combines the files you drop1→1Remove duplicate CSV rowsStrip repeated rows from a CSV. Compares whole records, not physical lines, so a quoted field containing a newline is one record and stays one record.Takes one file1→1Find incomplete CSV recordsReport every record whose cell count doesn't match the header: too few cells (a truncated record) or too many (an unescaped comma). Read-only: nothing is changed. Quote-aware, so a record with a quoted field containing a literal newline still counts as one record with the right cell count.Takes one file

Query & profile5

Parquet2

Questions

Can I run SQL on a CSV?

Yes. SQLite query loads a database file and runs your query with sql.js in the page. Results are capped at 1000 rows and writes are discarded, so it is a read tool rather than an editor.

Is my data uploaded?

No. Every parse and transform happens in this tab. That is usually why these tools get used: a customer export is exactly the sort of file you cannot paste into an online converter.

How is CSV parsed?

Quote aware, over the whole text, so quoted fields containing commas and newlines survive. An unterminated quoted field is reported rather than silently truncated.

Can I work with Parquet?

Yes, in both directions, with the caveat each tool page states: the writer produces uncompressed, plain-encoded columns with a single row group, which is readable everywhere but not the smallest possible file.

What is the largest file these handle?

Whatever your browser has memory for, since the file is loaded whole. For large datasets, split first with the CSV split tool and work on the parts.