Back to Blog
10 min read
Data

CSV Operations Query Tool Online: Filter, Dedupe, Compare CSV and Excel

Use Spoold's free CSV Operations tool to query CSV, TSV, and Excel .xlsx files online. Filter rows, select columns, find unique values and duplicates, dedupe CSV data, compare columns, count by category, sort rows, and run numeric summaries in your browser.

Query CSV and Excel files online without writing a script

Spoold's CSV Operations tool turns pasted CSV, TSV, or uploaded Excel .xlsx data into a queryable table in your browser. Use simple commands to filter CSV rows, select columns, dedupe CSV data, find unique values, find duplicates, compare two columns, group counts, sort rows, and run quick numeric summaries. Nothing is uploaded, and large files wait for an explicit Run click so the page does not execute expensive queries while you are still editing.

What is a CSV operations tool?

A CSV operations tool is a lightweight query surface for spreadsheet-like data. Instead of opening Excel, writing SQL, or creating a one-off Python script, you paste a CSV file and run commands such as where(status == "active"), unique(email), countBy(category), or compare(source_id, target_id). It is useful when the file is structured enough to query but not important enough to build a whole import pipeline.

Data cleanup

Remove duplicate rows, isolate blank fields, and check which values are repeated before importing a file.

API and database exports

Inspect CSV or TSV exports from services, dashboards, and databases without leaving the browser.

Excel and spreadsheet checks

Upload an .xlsx sheet, query the first worksheet, and compare columns without writing formulas.

Fast support debugging

Paste a customer export and answer one question: which rows match, which IDs are missing, or which values changed?

How to use CSV Operations

1

Open the CSV Operations tool

Go to CSV Operations. Paste CSV or TSV data, or upload a .csv, .tsv, or .xlsx file.

2

Check delimiter and header settings

Leave delimiter on Auto for most files. Switch to comma, tab, semicolon, or pipe if the columns do not line up. Keep Header enabled when the first row contains field names.

3

Write or pick a query

Use the operation editor, quick suggestions, and completions to build commands such as columns(), head(20), select(name, email), or countBy(status).

4

Run and inspect results

Small files run automatically. Large CSV or Excel-derived sources show a Run query button so you control when expensive parsing and operations happen.

CSV query examples

The CSV query language is intentionally small. It focuses on everyday data cleanup tasks, not full SQL. These commands cover most CSV and Excel analysis workflows.

TaskQueryWhat it does
List columnscolumns()Show detected column names, types, filled counts, empty counts, and examples.
Preview rowshead(20)Show the first 20 rows without rendering the full table.
Select columnsselect(name, email, status)Return only the columns you care about.
Filter rowswhere(status == "active")Keep rows where a condition matches.
Search cellssearch(error)Find rows containing a term anywhere in the row.
Unique valuesunique(email)Return distinct non-empty values from one column.
Find duplicatesduplicates(email)Find values that appear more than once.
Count by groupcountBy(category)Group values and count frequency.
Dedupe rowsdedupe(email)Keep the first row for each unique email.
Compare columnscompare(source_id, target_id)See shared, left-only, and right-only values.
Sort rowssortBy(amount desc)Sort by a numeric or text column.
Numeric summarysum(amount)Calculate sum, avg, min, or max for numeric values.

Filter CSV online

Filtering is the fastest way to turn a large export into a short answer. Use where() for column comparisons and search() for a broad text search. For example:

where(status == "active")
where(amount > 100)
where(owner contains "platform")
search(invoice)

This is useful for support exports, billing files, operational reports, and one-off investigations where opening a full spreadsheet is slower than asking a direct question.

Dedupe CSV and find duplicates

Duplicate values are common in email lists, customer exports, inventory feeds, and database snapshots. CSV Operations gives you three related commands:

  • unique(email) returns distinct values.
  • duplicates(email) shows repeated values and counts.
  • dedupe(email) keeps one row per unique value.

Compare CSV columns

Comparing columns is helpful when you have two ID lists in the same file: imported IDs vs exported IDs, source vs target, allowlist vs observed values, or previous vs current identifiers. Use compare(left_id, right_id) to return each value with a status: both, left-only, or right-only.

both

Value appears in both columns.

left-only

Value appears only in the first column.

right-only

Value appears only in the second column.

Run formulas and numeric summaries

For quick math, use summary functions such as sum(cost), avg(cost), min(cost), and max(cost). You can also run row-wise formulas over numeric columns, for example price * quantity or subtotal + tax. This is not a full spreadsheet engine, but it is enough for quick totals, validation, and sanity checks.

CSV Operations vs CSV Preview

Spoold has two CSV-focused tools because the workflows are different.

Use CSV Operations when you need to query

Choose CSV Operations for filtering, extracting columns, finding unique values, deduping rows, comparing columns, sorting, counting groups, and running formulas.

Use CSV Preview when you need conversion

Choose CSV Preview for table view, CSV to JSON conversion, JSON to CSV conversion, export formats, and integrated JSON Operations for converted JSON.

Large CSV and Excel files

Large CSV files can lock up a browser if every edit triggers parsing, type analysis, suggestions, and query execution. CSV Operations avoids that by using a manual Run query flow for large inputs. The input can still be pasted or uploaded, but expensive operations wait until you click Run. For very large data sets, start with columns() or head(20)before running broad queries such as rows(), sortBy(), orsimilar().

Tip for big files

Prefer narrow operations first: select(), head(), countBy(), and unique(). Avoid rendering every row unless you really need the full table.

Privacy: client-side CSV analysis

CSV Operations runs in your browser. Pasted data and uploaded files are processed locally by the page, which makes it practical for quick investigations where you do not want to send a spreadsheet to a server. If your organization has strict data-handling rules, still follow those policies, but the tool itself is designed as a client-side utility.

FAQ

Can I query Excel files online?

Yes. Upload a .xlsx file and CSV Operations reads the first worksheet, converts it to CSV internally, and lets you query the rows.

Is CSV Operations the same as SQL?

No. It is a small CSV query language for common browser-side data tasks. Use SQL for database joins and complex relational queries.

Can I filter CSV rows online?

Yes. Use where() for column conditions and search() for broad text matching across cells.

Can I dedupe CSV data?

Yes. Use dedupe(column) to keep the first row per unique column value, or duplicates(column) to inspect repeated values first.

Does the CSV query tool upload my file?

No. The tool is designed to run client-side in your browser.

Related tools

For conversion and exports, open CSV Preview. For operations on converted JSON, use JSON Operations. For pretty-printing JSON output, use the JSON Formatter. For a deeper conversion walkthrough, read the CSV to JSON conversion guide.

Query CSV, TSV, and Excel files now

Open the free CSV Operations tool, paste or upload data, and run filters, dedupe, comparisons, and summaries in your browser.

Open CSV Operations

Try It Now

Put this guide into practice with our free tools. No sign-up required.

Open CSV Operations
CSV Operations Query Tool Online: Filter, Dedupe, Compare CSV and Excel | Spoold Blog | Spoold