Your country

Tools that support it use your country for local currency, number formats, units and paper size. Your choice is saved only in this browser.

Type a name or a two-letter code. Use the up and down arrow keys to move through the countries, Enter to choose one and Escape to close.

Histogram Maker

Paste numbers or open a spreadsheet, choose the classes, download the chart and table.

Data No upload Works offline Free, no sign-up

Numbers, or a table with a header row. Or drop a CSV, TSV or Excel file here.

Classes (bins)

A value on an edge belongs to

Show

Bar height
Titles, colours & size

Histogram

Arrow keys move from class to class; Home and End jump to the first and last; Escape hides the tooltip.

Summary

Frequency table

Next steps

About the Histogram Maker

A histogram shows how numbers are spread out: the range is cut into classes (bins), and each bar shows how many values fall in its class. Paste a list of numbers — exam scores, delivery times, prices, measurements — or open a CSV or Excel file and pick a column, and the chart is drawn as you type.

Choose the classes with a standard rule (Sturges, Scott, Freedman–Diaconis, square root, Rice or Doane), or set the number of classes, the class width and start, or your own edges. Show frequencies, percentages, densities or cumulative values (an ogive), add a fitted normal curve, a frequency polygon or the mean and median, and download the chart as PNG or SVG and the frequency table as CSV. Everything runs in your browser — files of a million values included — and nothing is uploaded.

How to use it

  1. Paste your numbers into Your data (one per line, or separated by spaces, commas or semicolons), or paste a table copied from a spreadsheet, or press Open file for a CSV, TSV or Excel file. With a table, pick the Column to plot.
  2. Under Classes, pick a rule — Sturges is a good start, Freedman–Diaconis copes best with outliers — or choose Number of classes, Class width or Class edges and type your own. Round to nice widths gives edges such as 50, 55, 60 instead of 54.0, 59.9, 65.7.
  3. Choose what the bars show: Count, Percent, Density (the bar areas add up to 1), or the cumulative count or percent, which draws the ogive. Tick Normal curve, Frequency polygon, Mean or Median to add them.
  4. Type a title and axis titles, pick colours and a size, then press Download PNG (or SVG for print and slides). The frequency table under the chart has the class edges, midpoints, frequencies, percentages, cumulative values and densities: Download CSV or Copy table for Excel or Google Sheets.

Examples

Exam scores of 60 students, Sturges’ rule with nice widths
Input
72 85 64 91 58 77 69 88 74 81 … (60 scores from 54 to 95)
Result
k = ⌈log₂ 60⌉ + 1 = 7 classes → rounded to width 5: [50, 55) [55, 60) … [90, 95], 9 classes

Rounding the width to a nice number changes the number of classes a little (7 → 9 here); untick Round to nice widths for exactly 7 equal classes from 54 to 95.

Which class does a value on an edge go into?
Input
Values 0, 10, 10, 20, 25, 30 with edges 0, 10, 20, 30
Result
[a, b) lower edge included: 1, 2, 3 values · (a, b] upper edge included: 3, 1, 2 values

The first convention is NumPy’s and most textbooks’; the second is how Excel’s FREQUENCY function and R’s hist() count. The class at the end includes both of its edges, so no value is lost.

Delivery times (skewed to the right)
Input
50 delivery times between 19 and 61 minutes, Freedman–Diaconis rule
Result
h = 2 × IQR × 50^(−1/3): narrow classes where most values are, with a long tail of a few slow deliveries

Compare the mean with the median: on right-skewed data the mean is pulled up by the tail.

Common uses

  • Teachers and students drawing the histogram, frequency polygon and ogive of a grouped frequency distribution for homework or a report.
  • Checking whether measurements look roughly normal before a t-test, or whether a process is centred inside its limits.
  • Seeing the spread of response times, order values or ages in an export, without building a pivot table.
  • Making a clean, labelled chart for slides or a paper, with the exact frequency table to go with it.

The class rules and their formulas

n is the number of values, k the number of classes, h the class width, s the sample standard deviation and IQR the interquartile range (Q3 − Q1).

Rules that give a width (Scott, Freedman–Diaconis) use k = ⌈range / h⌉ classes. The quartiles use linear interpolation (the method of Excel’s QUARTILE.INC, R’s default and NumPy’s). The tool shows the formula with your numbers filled in under Classes.

Count, percent, density or cumulative?

  • Count (frequency): how many values are in each class. Use it when every class has the same width.
  • Percent (relative frequency): each count divided by the number of values, so two groups of different sizes can be compared.
  • Density: count ÷ (number of values × class width). The bar areas add up to 1, which makes classes of different widths comparable and lets the normal curve sit on the same scale. Choose it whenever you type uneven class edges.
  • Cumulative count or percent: how many values are at or below each class’s upper edge. The line through those points is the ogive, read for medians and percentiles (where it crosses 50%).

The normal curve is the bell curve with the same mean and standard deviation as your data, scaled to the bars (n × h × the normal density on the count scale). It shows at a glance whether the data are roughly normal, skewed or have two peaks; it is not a test of normality.

Reading the numbers that come with the chart

Next to the chart you get the count, mean, median, standard deviation, minimum, maximum, quartiles, IQR and skewness (the adjusted Fisher–Pearson coefficient, the same as Excel’s SKEW). A skewness above about +1 or below −1 means a clearly lopsided distribution; near 0, roughly symmetric. The frequency table lists every class with its edges, midpoint, frequency, relative and cumulative frequency and density — the grouped frequency distribution textbooks ask for.

Limitations

  • Up to 2,000,000 values and 1,000 classes. Pasted text is limited to about 20 MB; open larger data as a file.
  • Only numbers are counted: dates and text in the chosen column are skipped and reported. To chart how often each category occurs, use the Bar Graph Maker.
  • One data set per chart. To compare two groups, make a histogram of each with the same class edges and the Percent or Density scale.
  • The normal curve is drawn from the sample mean and standard deviation; it is a visual guide, not a goodness-of-fit test.

Privacy

Everything happens in your browser. What you enter or open here is not uploaded or stored by MySmartCoPilot.

Frequently asked questions

How many classes (bins) should a histogram have?

There is no single right answer, which is why several rules exist. Sturges’ rule (k = ⌈log₂ n⌉ + 1) suits small, roughly symmetric data sets; for large or skewed data, Freedman–Diaconis or Doane usually show more detail. A common rule of thumb is 5 to 20 classes. Try a few rules here and keep the chart that shows the shape most clearly without looking ragged.

How do I calculate the class width?

Class width = (largest value − smallest value) ÷ number of classes, usually rounded up to a convenient number so the classes cover every value. For 60 scores from 54 to 95 and 7 classes: 41 ÷ 7 ≈ 5.9 → 6, and 7 classes of 6 from 54 reach 96. With Round to nice widths the tool takes the width of the form 1, 2, 2.5 or 5 × 10ⁿ closest to the rule’s (here 5) and adds classes until every value is covered (9 classes from 50 to 95); whole-number data keep whole-number widths.

What is the difference between a histogram and a bar chart?

A histogram’s bars stand for ranges of a number on a continuous scale, so they touch and their order is fixed. A bar chart compares separate categories (cities, products), with gaps between bars that can be sorted any way. For categories, use the Bar Graph Maker.

Which class does a value exactly on an edge belong to?

By default to the class above it: classes are [a, b), lower edge included, as in NumPy and most textbooks, and the last class also includes its upper edge. Choose The class below: (a, b] under A value on an edge belongs to to count like Excel’s FREQUENCY function and R’s hist(), where the first class also includes its lower edge.

Can I make a histogram from an Excel file?

Yes. Press Open file and choose an .xlsx, .xls, .ods, CSV or TSV file, then pick the sheet and the column. Numbers keep their full precision from the workbook. You can also copy a column in Excel or Google Sheets and paste it straight into the box.

How do I draw an ogive (cumulative frequency curve)?

Choose Cumulative or Cumulative % under Bar height. The bars then show the running totals and the line joins the points at each class’s upper edge, starting from zero at the first lower edge — the ogive. Where it crosses 50% you can read the median.

Is my data uploaded?

No. Pasted numbers and opened files are read and charted in your browser; nothing is sent to a server.

Quick answers and tool search

Type to search tools or to get a quick answer, for example 18% of 2500. Use the up and down arrow keys to move through the results, Enter to choose, and Escape to close.