Merge, deduplicate, compare and query spreadsheets.
31 tools that run inside this page. Below is the sample merge, drawn — press the button and your browser runs it here, the same way it will run yours.
sample-customers.csv and sample-orders.csv, matched on customer_id against cust_ref, keeping all 8 rows of the first file.
- sample-customers.csv8 rows, 4 columns
- sample-orders.csv8 rows, 4 columns
customer_id against cust_ref
All 8 rows from the first file, whether or not the second file has anything for them.
Result
- 5 matched
- 3 kept, nothing to join
- 1 extra from a repeat
| customer_id | name | city | order_id | cust_ref | amount | status | |
|---|---|---|---|---|---|---|---|
| 00412 | Priya Sample | priya@example.com | Pune | S-1003 | 00412 | 32.10 | refunded |
| 00413 | Grace Example | grace@example.com | Bristol | S-1002 | 00413 | 89.50 | paid |
| 00415 | Ada Fictional | ada@example.com | Nairobi | S-1004 | 00415 | 410.00 | paid |
| 00416 | Linus Notreal | linus@example.com | Turku | S-1005 | 00416 | 55.25 | pending |
| 00417 | Maria Demo | maria@example.com | Porto | S-1008 | 00417 | 240.00 | paid |
| Second row for this key, added by a repeat: 00412 | Priya Sample | priya@example.com | Pune | S-1001 | 00412 | 150.00 | paid |
The marked row is the second order for 00412 — the repeat the third chip counts. Six of the 9 rows are shown; the table scrolls sideways for the remaining columns.
That was one of 31
All tools, with searchCombine and compare files 3
Two files that should be one, or should agree, or hold the same row twice.
Clean and fix a file 5
A file that opens wrong, or carries something that should not be in it.
Pick and order rows 6
Keep, order, count or sample the rows you need; the values stay as written.
Reshape columns 5
Change the shape of the table without changing a single value in it.
Convert between formats 11
The same table in the format the next program wants, nothing retyped.
- CSV to ExcelConvert CSV to Excel — without your numbers changing
- Excel to CSVConvert Excel to CSV — one clean file per sheet
- CSV to JSONConvert CSV to JSON — records, columns, or rows
- JSON to CSVConvert JSON to CSV — nested fields flattened, nothing guessed
- CSV to SQLConvert CSV to SQL INSERT statements
- CSV to MarkdownConvert CSV to a Markdown table
- TSV to CSVConvert TSV to CSV — with the quoting done right
- Excel to JSONConvert Excel to JSON — a sheet as an array of records
- CSV to ParquetConvert CSV to Parquet — columnar, compressed, local
- Parquet to CSVConvert Parquet to CSV — open the file your tools sent you
- HTML table to CSVExtract a table from a web page or pasted HTML
Ask questions in SQL 1
For the job none of the forms above describes: write the query yourself.
Check it yourself
Open your browser's developer tools, select the Network tab, and use a tool with a real file. Every request goes to this domain and none carries a body — the content security policy sets connect-src 'self', so the browser blocks anything else. It is not a promise we are asking you to take on trust.
Or prove it the blunt way: turn off your Wi‑Fi — in a moment. Your browser is still storing the offline copy of every tool, a one-time download on the first visit, and this line will extend the invitation the instant the copy is in.
What this browser supports
Checking what this browser supports…