Anderson-Darling Test Calculator

StatisticsLast updated: August 22, 2026

The Anderson-Darling test is a goodness-of-fit test that measures the distance between the empirical distribution and the theoretical normal distribution while giving extra weight to the tails. Kolmogorov-Smirnov looks only at the single largest deviation, whereas Anderson-Darling accumulates the difference across the whole distribution and penalizes departures in the extreme regions far more heavily; that makes it markedly more sensitive to problems such as heavy tails, outliers, and pile-ups at the extremes.

This calculator reports the raw A² statistic, the small-sample-corrected A*², an approximate p-value, and all five levels of the Stephens (1974) critical value table (15%, 10%, 5%, 2.5%, 1%). It also runs the Kolmogorov-Smirnov test on the same data and places the results side by side, so you can see numerically why the two tests can reach different decisions. In quality control software (Minitab, JMP) this is the default test for normality.

At least 3 observations; n ≥ 8 is recommended for a reliable p-value. You can separate the numbers with commas, spaces, or line breaks.
Sets the false positive risk. In the social sciences 5% is the common choice.

Anderson-Darling Test Statistic

zᵢ = (x₍ᵢ₎ − x̄) / s      — the ordered observations are standardized
A² = −n − (1/n)·Σᵢ (2i − 1)·[ ln Φ(z₍ᵢ₎) + ln(1 − Φ(z₍ₙ₊₁₋ᵢ₎)) ]
A*² = A² · ( 1 + 0.75/n + 2.25/n² )      — small-sample correction
Weight function: ψ(x) = 1 / [ F(x)·(1 − F(x)) ]   → puts weight on the tails
Critical A*²:  0.576 (α = 0.15) · 0.656 (0.10) · 0.787 (0.05) · 0.918 (0.025) · 1.092 (0.01)
p ≈ exp(1.2937 − 5.709·A*² + 0.0186·A*²)   (branch for 0.6 ≤ A*² < 10)
H₀: the data is normally distributed · Decision: reject H₀ if A*² > critical value or p < α

The critical values come from the asymptotic Stephens (1974) table and do not depend on n; that is why they are compared against the adjusted A*². Minitab's "Normality Test" and JMP's "Goodness of Fit" output report the same statistic; in R it corresponds to ad.test() from the nortest package.

How to Calculate

  1. Paste all the values of the variable whose normality you want to test into the box; at least 8 observations are recommended for a reliable p-value.
  2. Choose the significance level; α = 0.05 is standard in quality control work, while α = 0.10 is common in exploratory analysis.
  3. Compare A*² with the critical value table: the table shows directly at which α levels it is exceeded.
  4. Read the p-value and compare it with α; for borderline cases, follow the critical value table.
  5. Inspect the Kolmogorov-Smirnov comparison: if the two tests disagree, use the Q-Q plot to confirm whether the departure is in the tails or in the center.
  6. Look at the extreme points in the histogram and the Q-Q plot; a single outlier can make A*² significant on its own.

Worked Examples

Heavy-tailed measurement series — AD catches it, KS misses it (n = 17)

Most of the observations cluster between 48 and 53, while the values 42 and 60 sit at the two extremes. The result is A² = 1.3045 and A*² = 1.3722 with p = 0.001; because A*² also exceeds the 1% critical value of 1.092, normality is decisively rejected. On the same data Kolmogorov-Smirnov gives D = 0.1921 and a Lilliefors p of 0.096 and does NOT reject normality — the heavy tail, with a kurtosis of 5.298, becomes visible only in a tail-weighted test.

A*² (adjusted): 1.3722 · A² (raw statistic): 1.3045 · p-value: p = 0.001

Exam scores that follow a normal distribution (n = 20)

A² = 0.1334 and A*² = 0.1392 with p = 0.975; A*² does not even exceed 0.576, the loosest threshold in the table (α = 0.15), so normality is not rejected at any level. The skewness of -0.044 and the kurtosis of -0.453 also point to a symmetric distribution close to normal.

A*² (adjusted): 0.1392 · A² (raw statistic): 0.1334 · p-value: p = 0.975

Right-skewed income-like data (n = 15)

With A² = 2.3942, A*² = 2.5378, and p < 0.001, normality is rejected even at the 1% level; A*² is more than twice the strictest critical value of 1.092. The skewness of 2.432 and the kurtosis of 5.652 confirm a right-skewed, peaked distribution. Here Kolmogorov-Smirnov reaches the same decision (Lilliefors p < 0.001) because the departure is not only in the tails but across the whole distribution.

A*² (adjusted): 2.5378 · A² (raw statistic): 2.3942 · p-value: p < 0.001

Frequently Asked Questions

What is the difference between Anderson-Darling and Kolmogorov-Smirnov?
KS looks at the single largest vertical gap between the empirical and theoretical distributions, and that gap typically occurs in the center of the distribution; it takes almost no account of what happens in the tails. Anderson-Darling instead integrates the squared differences across the whole distribution with a weight of 1/[F(1−F)], giving far more weight to the extreme regions. As a result, on heavy-tailed data or data with outliers, AD may reject normality where KS does not.
What is the difference between A² and A*², and which should I report?
A² is the raw statistic; A*² is the version corrected for small-sample bias with the factor (1 + 0.75/n + 2.25/n²). Because the critical value table is built for A*², both the decision and the reporting should be based on A*². The two converge as n grows: at n = 100 the difference is below one part in a thousand.
Why do the critical values not depend on n?
The Stephens (1974) table rests on the asymptotic distribution, and the correction already builds the dependence on n into A*². That is why the same five thresholds (0.576 / 0.656 / 0.787 / 0.918 / 1.092) apply at every sample size. This is an important difference from Shapiro-Wilk, where the critical W depends directly on n.
Does it give the same result as Minitab and R?
Yes. The AD value in Minitab's Stat → Basic Statistics → Normality Test output matches A*² here, while the A value from nortest::ad.test() in R matches A²; the p-values come from the same D'Agostino-Stephens approximation. SPSS has no Anderson-Darling test in its Explore menu — it offers Shapiro-Wilk and Lilliefors-corrected KS instead.
How much can I trust a very small p-value?
Below p = 0.001 the formula is extrapolating, and once A*² ≥ 10 the p-value is clipped to a fixed lower bound (3.7·10⁻²⁴). Reporting those figures as exact probabilities would be wrong; writing "p < 0.001" is the correct approach. In such cases the critical value table and the Q-Q plot already show the size of the departure clearly.
How much does a single outlier change the result?
It can change it a great deal. The tail weighting magnifies the contribution of a single extreme observation to A*²; in small samples one outlier can make the test significant on its own. This is by design rather than a weakness of the test — but before deciding, you should investigate whether that observation is a measurement error or a genuine extreme value.
What should I do when normality is rejected?
First identify the source of the departure: if there is skewness, a log or square-root transformation is often enough; if the tails are heavy, robust methods or nonparametric tests are appropriate. If an outlier is the cause, check whether that observation is correct. In large samples the central limit theorem already makes mean-based tests robust; do not treat a rejection as an automatic reason to change methods.