How to Summarize a CSV File Quickly in Your Browser
Learn how to summarize a CSV file quickly in plain English. Analysis content stays in your browser, free to start, with no sign-up required.

TL;DR: Start a CSV summary with row counts, totals, and a clearly defined average, then compare groups. The six invented rows below total 900 in revenue and 570 in cost, with average revenue of 150 per row. These are checkable arithmetic expectations, not measured AI outputs or a speed benchmark.
What is the quickest useful way to summarize a CSV?
Define the measures before asking for a narrative. Establish what one row represents, count the rows, calculate totals, and compare a relevant grouping. "Summarize this file" leaves the meaning of a useful summary open; naming the columns and aggregation gives you something concrete to verify.
AskCSV can turn plain-English questions into browser-local SQL calculations. The model sees column information and a small sample, not the entire raw file as a prompt; DuckDB processes the loaded table and the model interprets the result. The workflow explanation describes that division of work.
Setup is separate from analysis: the first opt-in model download is approximately 1.8 GB, and AI analysis requires WebGPU-capable hardware and a compatible browser. Cached model reuse is possible but not guaranteed. This guide does not claim instant answers or a particular completion time.
Which small CSV can I use to check a summary?
Use this fixed, synthetic example. Each row is one fictional sale; revenue and cost use the same unspecified currency unit. There are no blank cells, taxes, or additional expenses to infer.
region,revenue,cost
North,120,80
South,200,140
North,180,100
West,90,60
South,160,100
North,150,90
Paste these rows into the file input, or save them locally as summary-example.csv and select it. Check that the header becomes three columns and that revenue and cost contain numeric values.
The example is intentionally small enough to check by hand. All expected figures below come from these six rows and ordinary arithmetic. They are not a transcript of a successful AskCSV run, and actual AI wording or query generation may differ.
What exact questions should I ask?
Ask these separately so you can check each result before moving on:
- "How many data rows are there, and what are total revenue and total cost? Show a table." Expected: 6 rows, total revenue 900, and total cost 570. Do not count the header as a data row.
- "For each region, show row count, total revenue, total cost, and average revenue per row. Sort by total revenue descending and show a table." Compare the result with the group table below.
- "What are total revenue minus total cost and average revenue per row across all rows? Show a table." Expected: 330 and 150. Revenue minus the listed cost is not necessarily accounting net profit; this file contains no other expenses.
| Region | Rows | Total revenue | Total cost | Average revenue per row |
|---|---|---|---|---|
| North | 3 | 450 | 270 | 150 |
| South | 2 | 360 | 240 | 180 |
| West | 1 | 90 | 60 | 90 |
A useful summary distinguishes volume from value per sale: North has the most total revenue, while South has the highest average revenue per row. South's higher average does not make it the leader in total revenue.
How can I verify the totals and averages myself?
The arithmetic is:
- Revenue:
120 + 200 + 180 + 90 + 160 + 150 = 900. - Cost:
80 + 140 + 100 + 60 + 100 + 90 = 570. - Revenue minus cost:
900 - 570 = 330. - Average revenue per row:
900 / 6 = 150. - North:
(120 + 180 + 150) / 3 = 150average revenue. - South:
(200 + 160) / 2 = 180average revenue. - West:
90 / 1 = 90average revenue.
Do not average the group averages without weighting them. (150 + 180 + 90) / 3 = 140, which is not the overall average. The groups have different row counts. The weighted calculation is (150 × 3 + 180 × 2 + 90 × 1) / 6 = 150.
If you already use SQL locally, this query expresses the grouped check after importing the sample into a table named sales:
SELECT
region,
COUNT(*) AS row_count,
SUM(revenue) AS total_revenue,
SUM(cost) AS total_cost,
AVG(revenue) AS average_revenue
FROM sales
GROUP BY region
ORDER BY total_revenue DESC;
This is reference SQL, not a promise that the AI generates this exact text. You do not need to run it in an external service. The DuckDB aggregate function reference explains COUNT, SUM, and AVG; notably, AVG(column) ignores null values, while COUNT(*) counts rows. That difference matters when moving beyond this complete six-row sample.
What if a summary disagrees with the expected answer?
Check the result table and the question before trusting the prose. Verify that all six rows were imported, numbers are numeric, no filter was requested accidentally, and the grouping uses region. Distinguish per-row averages from group averages, and total revenue from revenue minus cost.
On another dataset, also check duplicate records, blanks, mixed currencies, and what each row represents. Ask a separate, precise question about a suspected issue rather than assuming a general summary automatically audits data quality. Read-only SQL validation does not guarantee that the generated calculation matches your intent.
Frequently asked questions
Do I need an account or a paid plan?
No account is needed for Free's 10 successful analyses per month. Pro costs $5/month and adds unlimited successful analyses, conversation ZIP exports, chart PNG exports, deterministic two-file combine, and no ads.
Can I summarize an Excel workbook directly?
Not as .xlsx. Export the sheet as CSV first. AskCSV accepts CSV, TSV, delimited TXT, and pasted delimited rows; it does not import workbook formulas or formatting.
Does local analysis mean the site never contacts a server?
No. Files, questions, SQL, and results stay local, but app and model downloads, authentication, Stripe billing, analytics, and ads can use the network. See the privacy boundary and synthetic-data inspection guide before evaluating confidential data. Browser-local processing is not an offline or regulatory-compliance guarantee.
Technical references
- DuckDB-Wasm queries describes SQL execution in the browser database.
- WebLLM getting started documents the model runtime and WebGPU prerequisite.
Try the six-row sample, compare the numbers, and only then expand the question.
Keep exploring
- Analyze Sales Data Without an Expert (Free & Private)
Learn how to analyze sales data without an expert. Ask questions in plain English, get charts and answers from your CSV, private by design and free to start, no sign-up needed.
- How to Analyze Survey Results CSV Files, Privately
Learn how to analyze survey results CSV files right in your browser — surface themes, spot trends, and keep every response private by design. Free to start, no sign-up.
- Convert CSV into Charts With On-Device AI
Convert CSV into charts by asking questions in plain English. Analysis runs in your browser, with no sign-up required to start.