Blog
Statistics on data

Normality check online

Half the formulas in statistics assume the data is normally distributed, and almost nobody checks. This page checks: it measures how far the skewness and the kurtosis of your column stray from what a normal distribution would produce, and reports whether the gap is bigger than chance explains.

Your data never leaves this device

Your data

Paste a table straight from Excel or Google Sheets, or drop a CSV file. Nothing is uploaded anywhere — the whole calculation runs inside this browser tab.

CSV, TSV or plain text. Files saved in windows-1251 are detected and re-read automatically, so Cyrillic headers do not turn into garbage.

Parsing options

Columns

Result

The drawing library is downloaded only when you press the button, and only on this page.

This page has no server side at all. The table you paste is parsed by JavaScript inside your own browser, the chart is drawn on a canvas element on your machine, and the export file is assembled locally. Nothing is uploaded, stored or written to any log. You can disconnect from the network after the page has loaded and everything will still work — which is the simplest way to verify the claim yourself.

Facts and limits of this method

Test Jarque–Bera, based on skewness and excess kurtosis
Statistic JB = n/6 · (S² + K²/4)
Reference distribution Chi-square with 2 degrees of freedom
p-value Exact right tail via the incomplete gamma function
Verdict threshold p above 0.05 means the data is consistent with normality
Minimum rows 4, and reliably around 30

When it misleads you

How it is calculated

Skewness measures asymmetry and excess kurtosis measures tail weight. A normal distribution has zero for both, so the test combines the two into a single statistic that grows as either departs from zero, weighted by the sample size.

That statistic follows a chi-square distribution with two degrees of freedom when the data really is normal, and the p-value is its exact right tail computed through the regularised incomplete gamma function. The two degrees of freedom correspond to the two quantities being tested.

The verdict uses the conventional 0.05 threshold, and the p-value is shown next to it so you can see how close the call was. A p of 0.048 and a p of 0.0001 both count as rejection and are very different situations.

A histogram is drawn from the same column because a single p-value cannot show you a second peak, a floor at zero or a cluster of rounded values. The number tells you whether to worry; the picture tells you what to worry about.

Questions and answers

My data is not normal. What should I do?

Usually nothing dramatic. Use methods that do not assume normality: the median instead of the mean, the IQR instead of the standard deviation, Spearman instead of Pearson. Transforming the data is a last resort, not a first move.

Why does the test reject normality on my huge dataset?

Because with enough rows any real distribution differs measurably from a perfect normal. At that size look at the histogram and ask whether the deviation matters for your purpose, rather than at the p-value.

Is Jarque–Bera the best normality test?

It is a reasonable general-purpose one and it is fast. Shapiro–Wilk has more power on small samples; if your sample is under 30 and the answer is critical, treat this result as a hint and verify elsewhere.

What is excess kurtosis?

Kurtosis with 3 subtracted, so that a normal distribution scores exactly 0. Positive values mean heavier tails than normal, negative values mean lighter ones.

Is my data uploaded?

No. The test statistic, the p-value and the histogram are all computed locally.

Related tools

All tools