What this chart maker does
Paste two columns from a spreadsheet, choose a chart type, and download a PNG or SVG. The tool reads your numbers in the browser and draws the chart on the page. Nothing is uploaded, and there is no account to make.
You can also type values straight into the table or upload a CSV file. Pasting from Excel, Google Sheets or Numbers works because the clipboard uses tabs. The tool finds the delimiter by itself: a tab if any line has one, otherwise a comma, semicolon or pipe, whichever splits the lines most consistently. A single column of numbers needs no delimiter at all.
Rows with fewer columns than the widest row are padded, and the count is reported. They are never dropped. A first row is treated as headings only when the rows below it are numbers or dates and the first row is not, so a sheet of plain text never loses its first row of data.
Which chart type should you use?
The chart type follows from the question you are asking. Here is the short version.
- Comparing amounts across categories: a bar chart. One column of labels, one column of numbers, one row per bar.
- Something changing over time or along another ordered axis: a line chart. A line asserts that neighbouring points are connected, which is false for unordered categories.
- Two measurements per observation, looking at whether they move together: a scatter plot.
- Parts of one whole, and only a handful of parts: a pie chart.
- The shape of a single column of numbers: a histogram.
A histogram is not a bar chart. A bar chart compares categories you supply. A histogram counts how many of your values fall in each range, and the bars touch because the ranges are continuous.
When a pie chart is the wrong choice
In Cleveland and McGill's ranking of how accurately people read graphical elements, judging position along a common scale is the most accurate task and judging angle or area is markedly less accurate [Cleveland & McGill 1984]. The ranking was replicated with a larger crowdsourced sample by Heer and Bostock [Heer & Bostock 2010]. That is why slices of similar size are hard to compare.
Use a bar chart instead when you have more than about six categories, when your values are not parts of one whole, or when the comparison between categories is the point. This tool shows each slice's percentage and the total so you can check the figures.
How your numbers are read
The decimal separator is decided once per column from all of its values, not cell by cell. That matters because "1,234" is one thousand two hundred and thirty-four in a US sheet and 1.234 in a German one, and a single cell cannot tell you which. If both a point and a comma appear in a value, the later one is the decimal separator.
Currency symbols, trailing units, spaces and non-breaking spaces are ignored. A value in parentheses is negative, as accountants write it. A Unicode minus pasted out of Word is read as a minus. A trailing per cent sign is dropped, not divided, so 45% charts as 45.
Empty cells and the things spreadsheets put in place of a number (n/a, NA, NaN, null, a lone dash, #DIV/0!, #VALUE!) are counted as empty rather than treated as zero. One n/a cannot turn a column of numbers into a column of text.
Dates are recognised in forms like 2026-03-04, 2026-03, 2026, 2026 Q3, Mar 2026, March 4 2026, and slash or dot forms such as 03/04/2026. Whether a slash form is day-first or month-first is decided from the whole column: any value whose first number is above 12 settles it. When a column is genuinely ambiguous, the month-first reading is used and the page says which reading is in force, with a control to switch it.
Axes and bins
Tick values are always 1, 2, 2.5 or 5 times a power of ten, so you can do arithmetic between the gridlines. The axis always contains the data. The vertical axis starts at zero for bar charts and histograms by default, because the length of a bar is what encodes its value, so cutting the axis short exaggerates the difference between bars. Tufte calls the ratio between the size of an effect shown in a graphic and the size of the effect in the data the "lie factor" [Tufte 1983]. For line charts and scatter plots the axis fits the data by default, because the change rather than the absolute level is usually the point. Either default can be overridden on the page.
For histograms, the default bin width comes from the Freedman-Diaconis rule, two times the interquartile range divided by the cube root of the number of observations [Freedman & Diaconis 1981]. It uses the interquartile range rather than the full range, so a single extreme value does not flatten every bin. That is the weakness of Sturges' older rule of one plus the base-two logarithm of n [Sturges 1926]. When the interquartile range is zero, because most values are identical, Sturges' rule is used instead.
Whatever bin count is chosen, the width is then snapped to 1, 2, 2.5 or 5 times a power of ten and the bins are laid out from a round number, so the edges read "0 to 5, 5 to 10" rather than "0 to 3.333". The number of bins you ask for is therefore a target, and the number actually used is reported. Bins are right-open, so a value on a boundary falls in the upper bin and no value is counted twice. The top bin closes at its upper edge so the largest value is not left outside every bin.
A worked example
Suppose you paste ten values: 2, 3, 3, 4, 5, 5, 6, 7, 8, 9. The mean is 5.2 and the median is 5. The smallest is 2 and the largest is 9. The sample standard deviation divides by n minus 1, because a pasted column is a sample. Quartiles use linear interpolation between order statistics, which is R's default type 7 and the definition Excel's PERCENTILE function uses, so a reader checking against their spreadsheet gets the same answer [Hyndman & Fan 1996].
If you ask for a histogram, the Freedman-Diaconis rule gives a width, and the tool snaps it to a round number. You might get bins of width 2 starting at 2: 2 to 4, 4 to 6, 6 to 8, 8 to 10. The counts would be 3, 3, 2, 2. Try two or three bin counts before trusting a shape, because bin width changes the apparent shape of a distribution.
What you get out, and what happens to your data
You can download a PNG, drawn at twice the chart's size so it stays sharp in a document or a slide. You can also download an SVG, which stays sharp at any size and can be opened and edited in Illustrator, Inkscape, Figma or Word. There is no watermark, no sign-up, no account and no limit on the number of charts.
The chart carries a title and a description in the file itself so a screen reader can announce it. The figures behind every chart are also shown as a table on the page, because a chart is an image and an image needs a text equivalent [WCAG 2.2, success criterion 1.1.1].
The chart is drawn by code running in your own browser. Pasted text and uploaded files are read in the browser and are never sent to a server. That is also why there is no file size limit beyond what your own machine can hold.
The "copy link to this chart" link carries the data in the fragment of the URL, the part after the # that browsers do not transmit to a server. Sharing a chart link passes the data from you to the person you send it to without it reaching this site. A link has a practical length limit of about 7,800 characters, and the page says plainly when a dataset is too large to share that way instead of quietly truncating it. Charts are not stored on this site and there is no gallery of other people's charts.
For the full references behind every source named here, see how it works.