Convert, view, and clean CSV (Comma-Separated Values) in seconds.
A growing collection of browser-based CSV tools for the awkward parts of the job — converting to and from every format that matters, real Excel files, SQL queries over a CSV, pivot tables, joins, and the whitespace-and-encoding cleanup nobody enjoys. Everything runs in your browser; nothing is uploaded.
- CSV to JSON
- JSON to CSV
- CSV to JSONL
- JSONL to CSV
- CSV to XML
- XML to CSV
- CSV to YAML
- YAML to CSV
- CSV to Markdown
- Markdown to CSV
- CSV to HTML
- HTML to CSV
- CSV to TSV
- TSV to CSV
- CSV to SQL
- SQL to CSV
- CSV to GeoJSON
- GeoJSON to CSV
- CSV to array
- CSV to LaTeX
- CSV to ASCII table
- CSV to fixed width
- Fixed width to CSV
- Filter rows
- Find & replace
- Keep / rename / reorder
- Sort
- Transpose
- Change delimiter
- Beautify / align
- Merge files
- Join on key
- Set operations
- Dedupe
- Fuzzy dedupe
- Split file
- Slice rows
- Random sample
- Shuffle / reverse
- Fill blanks
- Trim whitespace
- Clean numbers
- Date formats
- Split column
- Combine columns
- Extract column
- Add column
- Add quotes
- Remove quotes
Converting between formats
If you have a CSV and need JSON, the
CSV → JSON converter
handles both plain arrays and JSON Lines (NDJSON), with RFC 4180-correct quoting and
a "keep everything as strings" default so you don't silently lose leading zeros or
boolean-looking fields. Going the other way, the
JSON → CSV converter
accepts both shapes and produces valid CSV that Excel and every library I tested will
read cleanly. For loading a CSV into a database, the
CSV → SQL generator
emits batched multi-row INSERT statements for PostgreSQL, MySQL, SQLite and
SQL Server, with an optional CREATE TABLE built from type inference over the
whole file.
Excel, without the import wizard
CSV → Excel
writes a real .xlsx package — bold frozen header, column widths sized to the
content, numbers stored as numbers — instead of a renamed text file Excel complains about.
Crucially, it leaves 007 and phone numbers as text, which is the thing Excel's
own import gets wrong and can't undo.
Excel → CSV
goes the other way: every sheet, dates converted from serial numbers to ISO, formulas
exported as their values, and an option to download all sheets as a zip. And when a CSV
merely needs to open cleanly,
Encoding & BOM
adds the UTF-8 byte-order mark Excel looks for — and repairs mojibake like
é when someone else got it wrong.
Analysing a CSV without a database
SQL on a CSV
runs real queries — WHERE, GROUP BY, HAVING,
joins, subqueries — against your file in a browser tab, with results downloadable as CSV or
JSON. For the common shapes there are dedicated tools:
group & aggregate for subtotals per key,
pivot and unpivot for reshaping wide to
long and back, value counts for a frequency table, and
chart to turn any of it into an SVG or PNG. Before trusting a file
you didn't create, Data profile reports fill
rates, inferred types, and flags for mixed types, key candidates, and hidden whitespace.
Looking at a CSV
Sometimes you just want to see the data. The CSV viewer renders a file as a sortable, filterable in-browser table — click any header to sort, type in the filter box to narrow rows, and export only the rows you see. It's the tool I open first when a support ticket lands on my desk with a CSV attached.
Reshaping a CSV
A handful of tools for when the file isn't in the shape you want. The
merge tool
stacks multiple CSVs by row, or outer-joins them on a shared key column. The
dedupe tool (or the fuzzy one, for rows that differ by a typo)
strips duplicate rows by any subset of columns, with optional case-insensitive and
whitespace-tolerant comparison. The
diff tool
compares two versions of a CSV and highlights added, removed, or changed rows at the cell
level — much better than plain diff for tabular data. And when a file is too
big for the consumer, Split CSV
chops it by row count or by column value into a ZIP of smaller files, each a standalone
CSV with its header preserved.
For putting two files side by side rather than stacking them,
Join on key
does inner, left, right, and full outer joins with a match report — the VLOOKUP you'd
otherwise write by hand, except it tells you how many rows failed to match instead of
leaving #N/A scattered through a column. And when the problem is the file
itself rather than its shape, Repair CSV
fixes ragged rows, a quote that was never closed, a BOM, and mixed line endings in one
pass, and shows you a report of every change it made. When the question is not what changed
inside a row but which rows are missing altogether,
Set operations takes the union,
intersection or difference of two files and hands back a CSV rather than a report.
What they have in common
Everything runs in your browser. The files you drop or paste never leave your machine — there is no server component handling data. I can't see your rows because they were never sent to me. That means no size cap beyond your browser's memory (typically 500 MB to 1 GB per file on a laptop), no account required, and nothing for me to leak. See the privacy policy for the longer version.
Sensible defaults, no hidden magic. Values stay as strings unless you
explicitly ask otherwise (so 007 stays "007" and doesn't turn
into the number seven). Quoting follows RFC 4180. Delimiters are auto-detected, but
the status bar tells you what was picked. Nothing gets silently transformed.
Free to use, with no warranty. Read the terms of use before relying on the output for anything load-bearing. Bug reports, corrections, and feature requests are always welcome — drop me a line.
— S., [email protected]