Normality Test Calculator

Assess whether your data follow a normal distribution using multiple statistical tests.Compute Shapiro-Wilk, Kolmogorov-Smirnov,Anderson-Darling, and D'Agostino-Pearson tests.Get descriptive statistics, p-values, and interactive visual diagnostics (QQ plot & histogram) to support your normality assumption testing.

Minimum 4 data points required for Shapiro-Wilk test. For best results, use at least 8–10 observations.
? Normal (n=20) : 20 random normal values
? Skewed right : 15 values with positive skew
? Uniform : 12 values from uniform(0,10)
? Bimodal : 16 values from two normals
⚠️ With outliers : 10 values + extreme outlier
Privacy first: All computations are performed locally in your browser. No data is sent to any server. Your data stays private.

What is a Normality Test?

A normality test is a statistical procedure used to determine whether a given data set is well-modeled by a normal distribution. Many parametric statistical methods — including t-tests, ANOVA, linear regression, and control charts — assume that the underlying data (or the residuals) follow a normal distribution. Violating this assumption can lead to invalid conclusions, inflated Type I error rates, or reduced statistical power.

This calculator implements four widely used normality tests: Shapiro-Wilk, Kolmogorov-Smirnov (Lilliefors), Anderson-Darling, and D'Agostino-Pearson. Each test approaches the problem from a different angle, and together they provide a comprehensive assessment of normality. The tool also provides visual diagnostics — a Q-Q plot and a histogram with an overlaid normal curve — to help you interpret the results.

For a sample X1, ..., Xn, the null hypothesis H0 is:

X ~ Normal(μ, σ²)

A small p-value (< 0.05) indicates evidence against normality.

Why Use This Normality Test Calculator?

  • Comprehensive testing: Four different tests in one place, each with its own strengths — Shapiro-Wilk is generally the most powerful, Kolmogorov-Smirnov is distribution-free, Anderson-Darling gives more weight to tails, and D'Agostino-Pearson is based on skewness and kurtosis.
  • Visual diagnostics: The Q-Q plot and histogram help you see deviations from normality that may not be captured by a single test statistic.
  • Educational: Detailed explanations, references, and interpretation guides make this tool suitable for students learning about normality assumptions.
  • Trusted methodology: All tests are implemented using standard algorithms from the statistical literature, with p-values computed using established approximation methods.

How the Tests Work

Shapiro-Wilk Test

The Shapiro-Wilk test, introduced by Shapiro and Wilk in 1965, is widely considered the most powerful omnibus test of normality for small to medium sample sizes (n ≤ 50). It is based on the ratio of two estimates of variance: the squared sum of weighted order statistics (the numerator) and the usual sample variance (the denominator). The test statistic W ranges from 0 to 1, with values close to 1 indicating normality. The p-value is computed using Royston's approximation, which is the method used in R's shapiro.test().

Kolmogorov-Smirnov Test (Lilliefors)

The Kolmogorov-Smirnov test compares the empirical cumulative distribution function (ECDF) of the sample with the CDF of a normal distribution with parameters estimated from the data. The test statistic D is the maximum absolute difference between the two CDFs. The Lilliefors correction adjusts the p-value to account for the fact that the parameters are estimated from the data, making it more appropriate for normality testing than the standard Kolmogorov-Smirnov test.

Anderson-Darling Test

The Anderson-Darling test is a modification of the Kolmogorov-Smirnov test that gives more weight to the tails of the distribution. This makes it particularly sensitive to deviations in the tails, which are often important in applications such as quality control and risk analysis. The test statistic A² is computed as a weighted sum of squared differences between the ECDF and the normal CDF. p-values are computed using Stephens' approximation.

D'Agostino-Pearson Test

The D'Agostino-Pearson test is an omnibus test based on the sample skewness and kurtosis. It combines the standardized skewness (Z1) and the standardized kurtosis (Z2) into a single test statistic K², which approximately follows a chi-square distribution with 2 degrees of freedom under the null hypothesis of normality. This test is particularly useful for detecting deviations from normality that manifest as asymmetry (skewness) or heavy/light tails (kurtosis).

How to Interpret the Results

  • p-value > 0.05: Fail to reject the null hypothesis. There is insufficient evidence to conclude that the data are not normal. This does not prove normality, but it suggests that the normal assumption is reasonable.
  • p-value ≤ 0.05: Reject the null hypothesis. There is evidence that the data do not follow a normal distribution. Consider using non-parametric methods or transforming the data.
  • Q-Q plot: Points that lie roughly along the reference line suggest normality. Systematic deviations — curvature, S-shapes, or outliers — indicate departures from normality.
  • Histogram: A bell-shaped histogram with a symmetric distribution and no severe outliers is consistent with normality. The overlaid normal curve helps assess the fit.
Case Study: Quality Control in Manufacturing

A manufacturer measures the diameter of 30 bearings produced on a new machine. The data (in mm) are: 12.03, 12.01, 11.98, 12.02, 12.00, 12.04, 11.99, 12.01, 12.02, 11.97, 12.03, 12.00, 12.01, 12.02, 11.99, 12.00, 12.01, 12.03, 11.98, 12.02, 12.00, 12.01, 11.99, 12.02, 12.03, 12.00, 12.01, 11.98, 12.02, 12.01. The engineer runs the normality test: Shapiro-Wilk W = 0.982, p = 0.87. The Q-Q plot shows points tightly clustered along the reference line. The histogram is symmetric and bell-shaped. Conclusion: No evidence of non-normality. The process is stable and the normal assumption is reasonable for control charting.

Common Misconceptions

  • "If the sample size is large, normality is not important." — While the Central Limit Theorem helps for the mean, many statistical procedures (e.g., prediction intervals, tolerance intervals, some tests for variance) are sensitive to normality even with large samples.
  • "A non-significant p-value proves normality." — No, it only fails to disprove it. With small samples, the test may lack power; with large samples, trivial deviations may become significant. Always use visual diagnostics alongside formal tests.
  • "All normality tests give the same result." — Different tests have different sensitivities. Shapiro-Wilk is generally the most powerful, but Anderson-Darling is better at detecting tail deviations. Using multiple tests provides a more robust assessment.

Applications Across Fields

  • Finance: Checking normality of asset returns for risk modeling.
  • Biostatistics: Verifying normality of biomarkers or lab measurements.
  • Engineering: Assessing process capability indices that assume normality.
  • Psychology: Testing questionnaire scores for parametric analysis.
  • Quality Control: Evaluating measurement systems and process stability.

Rooted in statistical science — This tool implements methods from the foundational literature: Shapiro & Wilk (1965), Lilliefors (1967), Anderson & Darling (1954), and D'Agostino & Pearson (1973). The algorithms follow the implementations in R and Python's SciPy, with p-values computed using established approximations. The interactive visualizations are rendered with Canvas. Reviewed by the GetZenQuery tech team, last updated July 2026.

Frequently Asked Questions

The Shapiro-Wilk test requires at least 4 data points. The Kolmogorov-Smirnov and Anderson-Darling tests can work with smaller samples, but their power is low. For reliable results, we recommend at least 8–10 observations. With fewer than 4 points, the tool will display a warning and only show descriptive statistics.

The Shapiro-Wilk test is generally recommended for most applications due to its high power across a wide range of distributions. The Anderson-Darling test is preferred when tail behavior is important. For large samples (n > 50), the Kolmogorov-Smirnov test can be used, but the Shapiro-Wilk remains a good choice. The D'Agostino-Pearson test is useful for detecting skewness and kurtosis deviations. Using multiple tests is often the best practice.

If the normality assumption is violated, consider:
  • Data transformation: Log, square-root, Box-Cox, or inverse transformations can often make data more normal.
  • Non-parametric methods: Use tests that do not assume normality (e.g., Mann-Whitney, Kruskal-Wallis).
  • Robust methods: Use robust estimators and tests that are less sensitive to distributional assumptions.
  • Larger sample: With enough data, the Central Limit Theorem can make the distribution of sample means approximately normal.

p-values are computed using established statistical approximations:
  • Shapiro-Wilk: Royston's approximation (1992), as used in R's shapiro.test().
  • Kolmogorov-Smirnov (Lilliefors): Dalal and Wilkinson's approximation (1978).
  • Anderson-Darling: Stephens' approximation (1974).
  • D'Agostino-Pearson: Chi-square approximation with 2 degrees of freedom.
These approximations are accurate for the sample sizes typically encountered in practice.

Yes, but note that the Shapiro-Wilk test is most commonly used for n ≤ 50–100. For larger samples, the Kolmogorov-Smirnov and Anderson-Darling tests are more appropriate. The p-values for the Shapiro-Wilk test are computed using approximations that work well for n ≤ 500. For very large samples (n > 500), the test may detect trivial deviations as significant; visual diagnostics become especially important in that case.
References: Shapiro, S.S. & Wilk, M.B. (1965). "An analysis of variance test for normality"; Lilliefors, H.W. (1967). "On the Kolmogorov-Smirnov test for normality with mean and variance unknown"; Anderson, T.W. & Darling, D.A. (1954). "A test of goodness of fit"; D'Agostino, R.B. & Pearson, E.S. (1973). "Tests for departure from normality". Wikipedia.