BY: Statistics Fundamentals Team
Reviewed By: Minsa A (Senior Statistics Editor)

Lilliefors Test Table: Critical Values, Significance Levels & Interpretation

The Lilliefors critical value table gives the threshold D values for normality testing when the mean and standard deviation are estimated from the sample. Look up Dcritical by sample size n and significance level α — then compare with your observed D to reach a decision.

Lilliefors Test: Quick Answer

The Lilliefors test compares an observed maximum-difference statistic D with a critical value determined by sample size n and significance level α.

If D > Dcritical → Reject H₀ → Data not consistent with normality
If D ≤ Dcritical → Fail to reject H₀ → Data consistent with normality

H₀: The sample is consistent with a normal distribution (mean and SD estimated from sample). Failing to reject H₀ does not prove normality — it means the evidence is insufficient to reject it at the chosen α.

Lilliefors D Critical Value Lookup

D critical =

What Is the Lilliefors Test?

The Lilliefors test is a goodness-of-fit test for normality introduced by Hubert Lilliefors in 1967. It adapts the Kolmogorov-Smirnov framework for the practical situation where the normal distribution parameters — mean μ and standard deviation σ — are unknown and must be estimated from the sample data.

That distinction matters. When you fit a distribution using sample estimates and then test against that same fitted distribution, the test statistic has a different null distribution than the standard KS case. Lilliefors derived new, smaller critical values specific to this situation — and those are what this table contains.

Key point: D is what you calculate from your data; Dcritical is what you look up in this table. The table is specific to the Lilliefors test. Do not substitute values from a standard Kolmogorov-Smirnov table — they are not interchangeable and using them would give incorrect results.

Lilliefors Critical Value Table

All values below are Dcritical — the maximum Lilliefors statistic consistent with normality at the given α. Reject H₀ if your observed D exceeds the table value. Click any cell to load it into the lookup tool above.

Values based on Lilliefors (1967) and tabulations from Conover, W.J. (1999) Practical Nonparametric Statistics, 3rd ed., and Zar, J.H. (2010) Biostatistical Analysis, 5th ed. For n > 30, values are approximated using simulation-derived estimates consistent with published tables. Reject H₀ (normality) if D > Dcritical.

How to Use the Lilliefors Critical Value Table

Using the table follows a direct six-step process. The most common error is looking up the wrong table — always confirm you are using Lilliefors-specific values, not the standard Kolmogorov-Smirnov table.

Step 1 — State Hypotheses

H₀: The sample is consistent with a normal distribution, with mean and standard deviation estimated from the data. H₁: The sample is not consistent with that normal distribution. Specify α before examining the data. The standard choice is α = 0.05.

Step 2 — Estimate Parameters

Calculate the sample mean x̄ and sample standard deviation s. These estimates replace the unknown population parameters.

x̄ = (Σxᵢ) / n      s = √[Σ(xᵢ − x̄)² / (n − 1)]

Step 3 — Compute the Lilliefors Statistic D

Calculate the empirical CDF Fn(x) from the data. Calculate the fitted normal CDF F₀(x) = Φ((x − x̄)/s). D is the largest vertical gap between them:

D = sup |Fn(x) − F₀(x)|

"sup" means the supremum — the largest value over all x in the data. In practice, D is the maximum absolute difference evaluated at each ordered data point.

Step 4 — Find D Critical from the Table

Locate the row for your sample size n. Read across to the column for your chosen α. That cell gives Dcritical. If your exact n is not listed, use the next smaller n (conservative) or the lookup tool above.

Step 5 — Apply the Decision Rule

D > Dcritical → Reject H₀ → Not consistent with normality at α
D ≤ Dcritical → Fail to reject H₀ → Consistent with normality at α

Step 6 — Confirm with Graphical Diagnostics

Always accompany the Lilliefors test with a Q-Q plot or histogram. The formal test answers the question of statistical significance; the plot reveals the nature and location of any departures from normality. A test result alone rarely tells the complete distributional story. See data visualization methods for practical guidance on normality plots.

What D Measures: Empirical vs Fitted Normal CDF

The Lilliefors statistic D is the largest vertical distance between two curves: the empirical CDF (what your data actually show) and the fitted normal CDF (what a normal distribution with the same mean and SD would look like). The diagram below illustrates this idea.

Diagram: Empirical CDF (step function) vs Fitted Normal CDF (smooth S-curve).
The vertical arrow labeled D marks the maximum absolute difference between the two curves.

A D value close to zero means the sample distribution closely matches the fitted normal — consistent with H₀. A large D means the step function diverges substantially from the smooth curve. The table tells you how large D must be before that divergence is too improbable under H₀ to attribute to sampling variation.

Worked Example: Significant Result

Scenario: A quality engineer records tensile strengths (MPa) from n = 20 specimens. She wants to check whether the data are consistent with a normal distribution before applying a parametric test. She uses α = 0.05.

Solution

Step Action Result
1 State H₀ and H₁ H₀: normal; H₁: not normal; α = 0.05
2 Estimate parameters x̄ = 412.3, s = 28.7
3 Compute D D = 0.213
4 Look up Dcritical n = 20, α = 0.05 → Dcrit = 0.190
5 Compare D vs Dcrit 0.213 > 0.190 → Reject H₀

Interpretation

The observed D = 0.213 exceeds Dcritical = 0.190 at α = 0.05. The Lilliefors test rejects the null hypothesis of normality. There is evidence the tensile strength data are not consistent with the fitted normal distribution at this significance level. A Q-Q plot should be examined next to understand the nature of the departure — whether it is skewness, heavy tails, or another pattern.

D(20) = 0.213, Dcritical(α = 0.05) = 0.190. Reject H₀.

Worked Example: Non-Significant Result

Scenario: A researcher measures reaction times (ms) from n = 35 participants and obtains D = 0.118 from the Lilliefors procedure. She tests at α = 0.05.

Solution

Step Action Result
1 Sample size and α n = 35, α = 0.05
2 Observed statistic D = 0.118
3 Look up Dcritical n = 35, α = 0.05 → Dcrit = 0.150
4 Compare D vs Dcrit 0.118 ≤ 0.150 → Fail to Reject H₀

Interpretation

D = 0.118 does not exceed Dcritical = 0.150. There is insufficient evidence to reject the hypothesis of normality at α = 0.05. The reaction time data are consistent with a normal distribution at this significance level. Note: this result does not prove the data are normally distributed — it means the departure from normality, if any, is not statistically detectable at this sample size and α.

Lilliefors Test vs Kolmogorov-Smirnov Test

The most consequential error in normality testing is applying standard Kolmogorov-Smirnov critical values when parameters are estimated from the sample. The tests look similar but operate under different assumptions.

Feature Kolmogorov-Smirnov Lilliefors
Distribution parameters Specified in advance Estimated from sample
Typical normality use Known μ and σ Unknown μ and σ (most practical cases)
Critical value source Standard KS distribution table Lilliefors-specific table
Critical values (at same n, α) Larger (more lenient) Smaller (more stringent)
Using wrong table causes Under-rejection of non-normal data

Do Not Mix These Tables

Using standard KS critical values for a Lilliefors test produces critical values that are too large. You would fail to reject normality in cases where the correct Lilliefors table would reject it. The distinction applies every time parameters are estimated — which is essentially every practical normality-testing scenario. For more on the KS test itself, see the Kolmogorov-Smirnov table page.

Lilliefors vs Shapiro-Wilk

Both tests address the same question — whether data are consistent with a normal distribution — but they work differently and have different strengths.

Feature Lilliefors Shapiro-Wilk
Test basis Maximum CDF difference (KS-type) W statistic (correlation-based)
Power for small n Moderate Generally higher
Sample size limitation Tables to ~200, software beyond Original tables to n = 50; software extends further
Critical value tables Lilliefors (1967) and extensions Shapiro & Wilk (1965) and extensions
Software support R (nortest), Python (scipy), SPSS R, Python, SPSS, SAS — widely available

For most applied work, Shapiro-Wilk has better detection power at small to moderate sample sizes. Lilliefors remains a reasonable and computationally direct option, and some software defaults to it in normality-checking routines. Either way, the formal test is one piece of the assessment — graphical diagnostics from the data visualization toolkit carry information that no single test statistic captures. The Shapiro-Wilk critical values are available in the Shapiro-Wilk critical value table.

Lilliefors vs Anderson-Darling

The Anderson-Darling test is another goodness-of-fit option frequently used for normality. It weights discrepancies in the tails of the distribution more than discrepancies near the center, which Lilliefors treats equally.

Lilliefors

Uses maximum absolute CDF difference. Treats all parts of the distribution equally. Simple to compute. Well-documented critical value tables exist.

Anderson-Darling

Uses weighted integrated squared difference. More sensitive to tail departures. Often preferred when tail behavior matters, such as in risk modeling or reliability analysis.

Lilliefors Test Assumptions

The test has a small set of conditions to satisfy for the result to be valid.

Independence

Observations should be appropriately independent for the application. Repeated measures on the same subject or time-series data with autocorrelation can violate this condition.

Continuous or Quantitative Data

The test is designed for continuous measurement data. Applying it to count data, ordinal scales, or heavily discrete data does not make conceptual sense and the critical values would not apply.

Parameters Estimated from Sample

The table applies specifically to the case where x̄ and s are estimated from the data. If the population mean and standard deviation were known in advance, a standard KS table would be appropriate instead.

Lilliefors Test + Q-Q Plot

Formal tests and graphical diagnostics answer related but different questions. The Lilliefors test gives a binary signal — reject or fail to reject — but does not describe what kind of non-normality exists. A Q-Q plot does.

What Lilliefors Tells You

Whether the maximum gap between your data and a fitted normal exceeds the threshold for the given α. A single number leading to a single decision.

What a Q-Q Plot Tells You

Where and how the distribution departs from normality — skewness (points curve away from the line), heavy tails (S-shape), outliers (points at the extremes). A picture of the full distributional story.

Recommended practice: Run the Lilliefors test and examine a Q-Q plot together. If the test rejects and the Q-Q plot shows mild skewness, you know both that normality is rejected and that the departure is modest. If the test fails to reject but the Q-Q plot shows a systematic curve, you may have low power in a small sample — the graphical evidence matters too.

Critical Value Table vs p-Value Approach

Most statistical software reports a p-value for the Lilliefors test rather than requiring a manual table lookup. Both approaches lead to the same decision.

Approach Comparison Reject H₀ when
Critical value (this table) D vs Dcritical D > Dcritical
p-value (software output) p vs α p < α

When software reports p < 0.05, that corresponds to D > Dcritical at α = 0.05. The p-value is more precise in that it gives the probability of observing D as large or larger under H₀, rather than a simple above/below threshold answer. Different software uses different algorithms — simulation, numerical approximations, or asymptotic methods — so minor p-value differences between packages for the same data are expected and are not errors.

Common Mistakes in the Lilliefors Test

Several recurring errors appear when researchers use this test. The list below covers the most consequential ones.

Using a standard KS table

The most frequent error. KS critical values are too large for this situation, causing under-rejection of non-normal data.

Saying "accept H₀"

A non-significant result means "fail to reject" — not proof of normality. The test can lack power, especially with small samples.

Wrong n row in the table

Reading the wrong sample-size row changes the critical value and can reverse the conclusion.

Ignoring graphical checks

A significant D tells you to reject; it does not tell you why. A Q-Q plot reveals whether the departure is skewness, outliers, or heavy tails.

Treating significance as proof of non-normality

Rejection at α = 0.05 means the result is unlikely under H₀ — not that the population is definitely non-normal.

Over-relying on large samples

With large n, the test rejects even trivial departures from normality. Statistical significance does not mean the departure is practically important for the intended analysis.

Lilliefors Test in Statistical Software

Most major statistical packages include the Lilliefors test or a closely related implementation. Each reports at minimum the test statistic and p-value; some also return the critical value directly.

R — nortest package

library(nortest)
lillie.test(x) # Returns D statistic and p-value

The nortest package by Gross and Ligges implements the Lilliefors test with simulation-based p-values. Also available: ad.test() for Anderson-Darling, sf.test() for Shapiro-Francia.

Python — scipy.stats

from scipy.stats import kstest, norm
stat, p = kstest(x, 'norm', args=(x.mean(), x.std()))
# Note: use Lilliefors-corrected critical values, not KS p-values

scipy.stats does not include a dedicated Lilliefors function; the statsmodels library provides diagnostic.lillifors with appropriate p-value calculation. Verify the function name in your installed version of statsmodels.

SPSS

SPSS reports the Kolmogorov-Smirnov statistic with Lilliefors significance correction in the Explore procedure (Analyze → Descriptive Statistics → Explore → Plots → Normality plots with tests). The output column labeled "Lilliefors Significance Correction" provides the corrected p-value for the estimated-parameter case.

Reporting the Lilliefors Test Result

Academic reporting should include the test statistic, sample size, critical value or p-value, and a clear conclusion that does not overstate the result.

Critical-value format (reject)

"A Lilliefors test was conducted to assess whether the sample was consistent with a normal distribution. The test statistic was D = 0.213. At α = 0.05 with n = 20, the critical value was 0.190. Because D exceeded the critical value, H₀ was rejected. The data are not consistent with normality at the 0.05 level."

Critical-value format (fail to reject)

"A Lilliefors test was conducted with n = 35. The test statistic was D = 0.118. At α = 0.05, the critical value was 0.150. Because D did not exceed the critical value, H₀ was not rejected. The data are consistent with normality at this significance level."

p-value format

"Lilliefors: D = 0.213, p = 0.032. H₀ rejected at α = 0.05."
"Lilliefors: D = 0.118, p = 0.21. H₀ not rejected at α = 0.05."

Frequently Asked Questions

H₀ states that the sample is consistent with a normal distribution, where the mean and standard deviation are estimated from the sample itself. H₁ states the sample is not consistent with that normal distribution.

At n = 30 and α = 0.05, the Lilliefors critical value is 0.159. Reject H₀ if your observed D exceeds 0.159. Use the lookup tool or table above to find values for other sample sizes.

No. Standard Kolmogorov-Smirnov critical values are too large when parameters are estimated from the sample. Using them would make the test too lenient — you would fail to reject normality in cases where it should be rejected. Always use Lilliefors-specific critical values.

Larger sample sizes require smaller D values to reject normality — the critical value decreases as n increases. A large sample provides more information about the population distribution, so smaller deviations from normality become detectable. This also means large-sample tests may reject normality for practically unimportant departures.

If your exact sample size is not listed, the conservative approach is to use the next smaller n in the table — this gives a larger (more stringent) critical value, making it harder to reject H₀. Statistical software calculates exact or simulation-based critical values for any n and is the preferred approach for non-tabulated sizes.

α = 0.05 is the most common choice in applied research. Use α = 0.10 when you want to be more sensitive to departures from normality (at the cost of more false rejections). Use α = 0.01 when you want strong evidence before rejecting normality, for example when the subsequent analysis is especially sensitive to the assumption. The α level should be chosen before examining the data.

Not exactly. It means the data are consistent with a normal distribution — the evidence is insufficient to reject normality at the chosen α. With a small sample, the test may lack the power to detect real departures from normality. Always examine graphical diagnostics alongside the test result.

For small to moderate samples (roughly n ≤ 50), Shapiro-Wilk generally has higher power and is the more common recommendation in textbooks and reporting guidelines. For larger samples or when a KS-type framework is preferred, Lilliefors is appropriate. Both tests should be accompanied by a Q-Q plot.

Different software uses different methods — simulation, numerical integration, asymptotic approximations, or closed-form formulas — to compute the Lilliefors p-value. These methods agree well for moderate to large samples but can differ for small n. The test statistic D itself should agree across packages if the same data and parameter estimates are used.

D is the maximum absolute difference between the empirical cumulative distribution function of the sample and the fitted normal CDF: D = sup|F_n(x) − Φ((x − x̄)/s)|. It measures how far the data deviate from the fitted normal at their worst point. A larger D indicates greater inconsistency with normality.

Lilliefors (1969) also derived critical values for testing exponentiality, again with an estimated parameter. However, the table on this page applies to the normality version only. For exponential testing, separate Lilliefors exponential critical values are needed, or use software that implements that version specifically.

D is the computed measure of discrepancy between the sample and the fitted normal distribution. The p-value is the probability of observing a D this large or larger if H₀ were true. A small p-value (below α) leads to rejection of H₀. Both D and the p-value carry the same decision information, just expressed differently.

Yes, in two ways. First, larger samples produce smaller critical values, so the test becomes more stringent and can detect smaller departures from normality. Second, with very large samples, the test rejects normality for trivial deviations that have no practical importance for the intended analysis. The critical value table should be read in the context of the sample size used.

Key Takeaways

The Lilliefors test is the correct normality test when the mean and standard deviation are estimated from the sample — which covers most practical situations.
Its critical values are smaller than those in the standard Kolmogorov-Smirnov table. Do not substitute one for the other.
Select sample size n and significance level α, then find Dcritical in the table. Reject H₀ if your observed D exceeds that value.
Failing to reject H₀ does not prove normality — it means the test found no sufficient evidence against it at the chosen α level.
Always pair the Lilliefors test with a Q-Q plot or histogram. The test gives a decision; the plot describes the departure.
With large samples, any minor non-normality can produce rejection. Significance does not automatically mean the departure matters for the subsequent analysis.
Software p-values may differ slightly across packages due to different computation methods. For the same data, the D statistic should agree; the p-value may vary slightly.

References

Lilliefors, H. W. (1967). On the Kolmogorov-Smirnov test for normality with mean and variance unknown. Journal of the American Statistical Association, 62(318), 399–402. https://doi.org/10.2307/2283970

Conover, W. J. (1999). Practical Nonparametric Statistics (3rd ed.). Wiley. (Critical value tables, Chapter 6.)

Zar, J. H. (2010). Biostatistical Analysis (5th ed.). Prentice Hall. (Normality testing chapter with Lilliefors table.)

Gross, J., & Ligges, U. (2015). nortest: Tests for normality (R package). https://cran.r-project.org/package=nortest

Shapiro, S. S., & Wilk, M. B. (1965). An analysis of variance test for normality (complete samples). Biometrika, 52(3–4), 591–611. https://doi.org/10.2307/2333709

Understanding What the Lilliefors Table Tells You

Why Critical Values Decrease with Larger n

Larger samples yield more precise estimates of the population distribution. With more data, smaller deviations from the fitted normal become detectable. At n = 10, D must exceed 0.258 to reject normality at α = 0.05; at n = 100, the threshold falls to around 0.085. This reflects the test gaining statistical power as n grows.

The Role of Significance Level α

A smaller α sets a higher bar for rejection. At α = 0.01, the critical value is larger than at α = 0.05, so it takes a more extreme D to reject H₀. This reduces the chance of incorrectly rejecting normality (Type I error) but increases the chance of missing a real departure (Type II error). The choice of α should reflect the consequences of each error type in the specific application.

Why Normality Testing Has Limits

With small samples, even markedly non-normal data can pass a normality test — the test lacks power. With very large samples, even trivial departures from normality produce rejection. Many parametric tests are robust to moderate non-normality anyway, particularly with larger samples, due to the central limit theorem. See the central limit theorem discussion on Statistics Fundamentals for relevant context.