What's new

Changelog

Every update to csvdiff.app — new features, improvements, and fixes. Shipped continuously, documented here.

v1.4Latest
New

Column filters: text contains & numeric range

Filter high-cardinality columns like name or email by typing a substring. For numeric columns like salary or score, set a min/max range — csvdiff auto-detects numeric columns and switches to range mode.

Guide: filter CSV columns online
Column filters
Text contains
ayesha

2 values matched

"ayesha"
Numeric range
50000
120000

7 values in range

50000 – 120000
New

Blanks filter

Find rows with empty cells in any column. The blank entry now appears as a regular checkbox row at the top of the value list — consistent with the rest of the filter UI.

Filter statusFilter active (1)
Search values…
empty3
active8
on leave4
pending3
New

Export review in CSV Diff

The Review & Export sheet is now available in the diff tool. Preview resolved rows, toggle columns, and exclude rows before downloading the merged CSV.

Review export2 of 3 rows · 4 cols
2 rows
idnamedeptsalary
1Sara Ahmedproduct98000
2Usman Tariqengineering130000
3Hina Malikproduct95000
v1.2
New

Column stats bar

Click any column header in the viewer to see inline stats: unique count, blank count, min, max, and average for numeric columns — all computed client-side.

Viewer · footer
Σ
Unique11Blanks0Min$82,000Max$155,000Avg$113,272
New

Ask your data

Use natural language to query your CSV. Ask "show rows where salary > 100k" or "which department has the most employees" and get instant answers — powered by your own API key, no data leaves the browser.

Guide: ask your CSV data with AI
Ask your dataGemini
Which department has the highest average salary?
Show plan
Group rows by department
→ Average salary per group
→ Sort descending
Engineering has the highest average salary at $131,500.
3 rows
TSV · CSV
departmentavg_salary
engineering$131,500
product$109,333
data$96,500
Follow up
Show me all engineersWhich employees earn above average?
New

Dark mode

Full dark mode across the diff tool, viewer, and blog — respects system preference and can be toggled manually.

Guide: active filters, command palette & dark mode
light theme
AI
statusname
namedepartmentsalary
Sara Ahmedproduct98000
Usman Tariqengineering130000
Hina Malikproduct95000
dark theme
AI
statusname
namedepartmentsalary
Sara Ahmedproduct98000
Usman Tariqengineering130000
Hina Malikproduct95000
v1.1
New

Color rules

Highlight cells based on rules: heatmap by value, category colors, above average, empty cells, or duplicates. Rules persist to export.

Guide: color rules & fill blanks
namedepartmentsalary
Sara Ahmedproduct$98,000
Usman Tariqengineering$130,000
Hina Malikproduct$95,000
Zain Alidata$87,000
John Smithengineering$155,000
Heatmap · salaryCategory · status
New

Fill blanks & fill down

Fill empty cells from the cell above — useful for pivot-style exports where groups repeat only in the first row.

Before
regionnamesales
NorthAlice12000
emptyBob8500
emptyCarol11200
SouthDave9800
emptyEve14300
Fill blanks
After
regionnamesales
NorthAlice12000
NorthBob8500
NorthCarol11200
SouthDave9800
SouthEve14300
New

Column formats

Format numeric columns as currency, percentage, or with custom decimal places. Format date columns to any locale. AI can suggest the right format for your column.

Guide: format CSV columns online
Format salaryReset
Detected NumberApply
NumberCurrencyPercent
Preview
98000$98,000
130000$130,000
95000$95,000
87000$87,000
Ask AI to suggest format
New

Bulk find & replace

Select values in a column filter and replace all matching cells in one click. Preview affected cells before applying.

Filter statusClear
inactive
Apply
Preview · 4 cells
on leaveinactive4
Search values…
on leave4
active8
pending3
v1.0
New

CSV Diff — initial launch

Compare two CSV or JSON files side by side. Match rows by key column, filter to changed rows, resolve per-cell conflicts, and export a merged file. 100% client-side.

Statusidnamesalarydepartment
Modified1Sara Ahmed9200098000product
Added2Usman Tariq130000engineering
Removed3Old Employee75000data
Unchanged4Hina Malik95000product
New

CSV Viewer — initial launch

Open a single CSV or JSON file as a clean paginated table. Search, sort, pin columns, hide columns, and export. No upload, no account.

employees.csv42 rows · 5 cols
engineering
idnameemaildepartmentsalary
1Sara Ahmedsara@acme.coproduct98000
2Usman Tariqusman@acme.coengineering130000
3Hina Malikhina@acme.coproduct95000
4Zain Alizain@acme.codata87000
4 matches in 42 rows/to focus search

Ready to diff?

Drop your files, see the deltas, export the merge. Takes 30 seconds.