csvkit.org
CSV (Comma-Separated Values) utilities, in the browser
Say hi →

Convert, view, and clean CSV (Comma-Separated Values) in seconds.

72 browser-based CSV utilities · updated 25 August 2026

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.

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]