CSV to chart
Paste a CSV (or cells from a spreadsheet) and the chart draws as you type. Pick a type, set titles and number formats, then download an SVG or a PNG.
What the CSV can look like
Real files are messy. These are the things the reader understands without any setup.
- Separators
-
Commas, semicolons, tabs (pasted from a spreadsheet) or pipes. The builder detects which one from the first lines; Reading options lets you choose.
Month;Revenue Jan;1.250,50 - Header row
-
The first row names the columns when it holds text above columns of numbers. Years work as names too. If there is no header, columns are numbered.
- Quotes
-
Standard CSV quoting (RFC 4180): wrap a value in double quotes to include commas or line breaks, and double a quote inside it.
"Acme, Inc.","He said ""ship it""" - Numbers
-
Thousands separators (comma, period, space or apostrophe) and a decimal point or comma. The decimal mark is decided once for the whole file.
1,234.5 1.234,5 1 234,5 1’234.5 - Percentages
-
A % sign is understood, and the chart’s values are then written as percentages.
99.95% - Money
-
Currency symbols before or after the number ($ € £ ¥ ₹ and more) or a code. When one currency runs through the series, the chart uses it.
$1,200 1 200 € USD 1200 - Negatives and shorthand
-
Minus signs, accounting parentheses and K, M or B suffixes.
-12 (12) 1.2K 3M - Dates
-
ISO 8601 dates are labelled nicely, and on line and area charts they sit at their real distance apart.
2026-07-06 2026-07 2026-07-06T09:30 - Blanks
-
Empty cells and NA, N/A, null or a dash become gaps, not zeros.
Common problems, and the fix
Quarter,North America,Europe,Asia Pacific
Q1 2026,"$412,000","$298,000","$151,000"
Q2 2026,"$448,000","$321,000","$187,000"
Q3 2026,"$501,000","$339,000","$226,000"
Q4 2026,"$563,000","$382,000","$270,000" - Dates like 07/06/2026
-
Read as text, in the order given: we won’t guess whether that is July or June. Rewrite them as 2026-07-06 for real spacing on the time axis.
- Units inside cells
-
“12 kg” or “3 hrs” is text, not a number. Put the unit in the column name or the value axis title instead.
- Spreadsheet extras
-
Title rows above the header, totals rows and notes under the table all get charted. Delete them before pasting, or the total becomes the tallest bar.
- Numbers that are names
-
ZIP codes, years and IDs are numbers that label things. Choose that column under Columns, Labels from.
- Too many categories
-
With many bars on a small chart, some labels are hidden so the rest stay readable. A horizontal bar chart has room for long names and more rows.
Get a hosted link
Some places can’t run a chart script or take a file upload: email, Slack messages, PDFs, pull request descriptions. A hosted link is a plain image URL that draws your chart when it’s opened.
What it will do:
- An image URL per chart. Put it in an
<img>tag or a Markdown image and the chart shows up, SVG or PNG. - Signed. Nobody can change the chart by editing the link.
- Cached close to readers, so a newsletter sent to thousands loads quickly.
- The same renderer as this builder, so the link and the file you download look the same.
Not built yet: we’re checking that enough people want it first. Leave your email and we’ll tell you when it opens. Nothing else.

<img src="https://boringutils.com/c/…/weekly-signups.png"
width="600" height="300" alt="Weekly signups, July to September"> Questions
Short answers to the usual ones.
Anything else: hello@boringutils.com
Is my data uploaded anywhere?
No. The chart is drawn in your browser, and nothing you paste is sent to us or anyone else.
Share links keep the data after the # in the address. Browsers never send that part to a server, so the link is private to whoever you give it to.
Does it work with semicolon-separated or European CSV files?
Yes. Semicolons are detected, and so are decimal commas (1.234,5). When a number like 1,234 could be read either way, a semicolon-separated file reads it as 1.234 and a comma-separated one as 1,234. You can set the separator yourself under Reading options.
How do I chart only some of the columns?
Under Settings, Columns, untick the series you don’t want and pick which column holds the labels. Up to 8 series fit on one chart, so each keeps a color you can tell apart.
How do I make a pie chart from a CSV?
Use two columns, names and values, and choose Pie or Donut. Slices start at twelve o’clock in the order of your rows. Past 6 slices, the smallest ones are grouped as “Other” so the chart stays readable.
How large can the CSV be?
The builder reads up to 5,000 rows and 50 columns and charts up to 8 series. It stays quick at that size. For more, summarize the data first: a chart with 5,000 bars would not be readable anyway.
Can I paste straight from Excel or Google Sheets?
Yes. Copying cells gives tab-separated text, which the builder detects. Formatted numbers like $1,200 or 12% are understood as they are.