CSV to chart, without uploading the file

Drop a CSV and pick two columns. The chart is drawn in this page — the file is read by your browser and never sent anywhere.

Drop a .csv file here or click to choose  ·  nothing is uploaded

Why this page has no upload button. Reading a spreadsheet needs no server — the browser can do it. Most online CSV tools upload first anyway, which rules them out for payroll, medical records, client lists or anything under an NDA. This page has nowhere to upload to: open your network tab and drop a file, the request list stays empty.

What it handles

DelimiterComma and semicolon, detected automatically (European exports usually use ;)
QuotesQuoted fields containing commas, and escaped "" inside them
Line endingsLF and CRLF, plus a leading UTF-8 BOM
Numbers1,234.56 and 1.234,56 are both read as numbers
SizeEverything is held in memory. Comfortable up to a few tens of thousands of rows; a million-row file is not what this is for.

How to use it

Drop the file, pick the column you want along the bottom (a region, a category, a month) and the numeric column you want measured. Sum adds the values in each group, Average divides by the number of rows in that group, and Count ignores the value column and counts rows instead. Download SVG gives you a vector file that stays sharp in a slide deck at any size.

Common questions

Does the file leave my computer? No. There is no server component to this page. The file is read with the browser's File API and everything after that is arithmetic in the page. Once the page has loaded once, you can disconnect from the network and it still works.

Can it read .xlsx? Not here — this page is CSV only, deliberately, so it stays a single small file. For Excel workbooks use Sheet Insights below.

What does “merge case/spacing” do? Real exports routinely contain Istanbul, istanbul and ISTANBUL as three separate values, which splits one bar into three. With merging on, those group together and the most common spelling is used as the label; the caption under the chart tells you how many variants were merged. Switch to “keep as written” when the difference in case is meaningful.

Why are only some columns offered as the value? A column is offered on the Y axis when most of its filled cells parse as numbers. Columns that are mostly text are offered as the category instead.

Related tools

Need more than one chart?

Sheet Insights reads the same file and builds the whole workspace: executive summary, trends with forecasting, a statistics center, data quality checks and one-click cleaning. Same rule — it runs entirely in your browser, with no server behind it.

See what Sheet Insights does