Guide

Chart

Turn a CSV into a Chart

Drop in a CSV, TSV or simple XML file and get a chart. Bar, line, pie, doughnut, scatter and radar are supported, and you can download the result as PNG or SVG.

Loading the tool…

.csv · .tsv · .xml

How to use it

  1. Add your dataOpen a CSV, TSV or simple XML file, or paste the data.
  2. Choose a chartColumns are detected for you. Pick a type, the columns and a palette.
  3. DownloadSave the chart as PNG or SVG.
The CSV to chart tool with monthly revenue and costs pasted in, showing a bar chart with two bars for each month and the chart options on the right.
The tool with sample data loaded. The names and numbers are made up.

Good to know

Check that the right columns are used. Cells that are not numbers are drawn as 0, and the tool tells you how many. A value such as 12% is drawn as 0.12. A second file can be compared on line charts only. Saved images always have a white background.

Worked example: a monthly report

This CSV has a text column (month) and two number columns. The tool picks month as the X axis and draws revenue and costs as two series without any setup:

month,revenue,costs
Jan,12400,9100
Feb,13950,9400
Mar,15200,10250
Apr,14100,9800
May,16850,11020
Jun,18300,11900
Bar chart with six months on the horizontal axis and two bars per month, revenue and costs, on a scale from 0 to 20k.
The SVG the tool produced for this file, with the Bar type and the default palette.

The SVG is 640 by 400 and the PNG is 1280 by 800 pixels, both on a white background. The legend is not part of the saved image, so name the series in your caption or in the chart title box.

How the tool reads your numbers

Chart data in an Excel file? Export the sheet first with XLSX to CSV. To tidy the data before charting, use Remove duplicate rows.

How we tested this

On 31 October 2026 we ran the live page in headless Chromium on a Linux cloud server, driving it the way a person would (adding files, clicking the buttons, saving the download) and checking the files it produced.

What we checkedResult
All seven chart types (bar, stacked, line, pie, doughnut, scatter, radar): the SVG is valid XML with a text label for screen readers and a white background, and the PNG is exactly 1280 by 80035 of 35
30 random tables: the height of every bar in the SVG is in proportion to the number in the CSV, for 2 to 8 categories and 1 to 3 series30 of 30
10 random tables grouped by X with Sum, Average and Count (30 runs): each bar matches the figure we computed separately30 of 30
$1,000, 12% and n/a are read as described above and the note appears; no page errors; no requests to other sites5 of 5
Total100 of 100

Not tested: Pie, doughnut, scatter and radar charts are checked for valid output only, not for the exact size of each slice or point. Grouping 200,000 rows into 40 bars took about 2 seconds in our run; your device will differ.

Frequently asked questions

Which chart types can I make?

Bar, stacked bar, line, pie, doughnut, scatter and radar. Pie and doughnut charts use the first value column only.

Is my data uploaded?

No. The chart is drawn in your browser and nothing is sent to a server. The page keeps a copy of the file you add on your device so it is still there after a reload, until you use Clear saved data in the menu. After your first visit the page also works offline.

Can I compare two files?

Yes, on a line chart. Tick “Compare a second file” and add it. Its lines are dashed and are matched to the first file by the X value. Other chart types do not show the second file, and the tool says so.

Which files can it read?

CSV, TSV (or semicolon or pipe separated text) and simple XML where each record is a repeated element. Excel files are not read here: export the sheet as CSV first, for example with the XLSX to CSV converter on this site. Files that are not UTF-8 are read as Windows-1252 and the tool tells you.

How are numbers read?

Thousands separators, a leading $, €, £ or ¥, and a trailing % are understood (12% becomes 0.12). In a semicolon-separated file a comma between digits is a decimal comma, so 1,5 is 1.5. Anything else that is not a number is drawn as 0 and counted in a note above the chart.

What does “Group rows by X” do?

It combines rows that share the same X value, using sum, average, minimum or maximum of the value column. Count (rows) counts the rows for each X value, whatever the value column holds. Scatter charts are not grouped.

How much data can it draw?

Bar, stacked, pie, doughnut and radar charts draw up to 4,000 values, and line and scatter charts up to 40,000. A bigger file is not drawn; the tool tells you to group the rows or set Top N. In testing, 200,000 rows grouped into 40 bars were drawn in a few seconds.

What is in the PNG and SVG?

The chart on a white background, whichever colour theme the page is in. The PNG is 1280 by 800 pixels. The legend is not part of the image.

Where to go next

When people use it