How to Test for Normality — and How to Interpret the Result
A normality test checks whether your data follow a normal distribution, which decides whether you run parametric tests (t-test, ANOVA, Pearson) or their non-parametric counterparts (Mann-Whitney U, Kruskal-Wallis, Spearman). The practical rule is straightforward: use the Shapiro-Wilk test when the sample is under 50 and the Kolmogorov-Smirnov test (with Lilliefors correction) for larger samples; in both, p > 0.05 means there is no evidence of departure from normality and you can proceed with parametric tests. Crucially, normality is not checked on the whole dataset at once — for group comparisons it is checked within each group, and for regression it belongs to the model residuals, not the raw variable.
This guide covers how to run the check correctly, the mistakes that draw reviewer comments, and the reasoning behind the decision. Send us your data and we'll assess normality per group — or on residuals where that's what the model requires — present skewness, kurtosis and Q-Q plots together, then select and justify the right test in a report you can paste straight into your thesis or manuscript.
Who is this guide for?
Students who have collected their data and need to decide which test to run
Authors whose reviewers flagged an unchecked normality assumption
Anyone stuck after Shapiro-Wilk returned p < 0.05
Anyone wondering why normality tests are always 'significant' in large samples
The steps of a normality check
- 01
Decide what you are testing for normality
For independent group comparisons, normality is assessed within each group separately. For regression and ANOVA, it applies to the model's residuals — not the raw dependent variable. This distinction is the single most frequently skipped step, and the one reviewers catch most often.
- 02
Choose the test by sample size
Shapiro-Wilk is more powerful and is the standard choice for n < 50. For larger samples, Kolmogorov-Smirnov with the Lilliefors correction is used. Shapiro-Wilk remains applicable up to roughly n = 2000, but in very large samples it flags even trivial departures as significant.
- 03
Look at skewness and kurtosis
Skewness and kurtosis values within roughly ±1.5 (±2 under more permissive conventions) indicate no practically serious departure from normality. These measures are what you fall back on when the test result sits on the boundary.
- 04
Back it up with plots
A histogram and especially a Q-Q plot reveal what a single p value hides: is the departure spread across the whole distribution, or driven by a handful of extreme values? In practice the decision rests on this full picture, not the p value alone.
- 05
Make the call and write down why
If you stay parametric, state why (plots, skewness/kurtosis, sample size); if you switch to a non-parametric test, state that too. What convinces a reviewer is not the test itself but the justification behind the choice.
Which method, when?
The methods used to assess normality and where each fits:
| Method | When to use it | How to read it |
|---|---|---|
| Shapiro-Wilk | Small to moderate samples (n < 50, applicable up to n ≈ 2000) | p > 0.05 → no departure from normality |
| Kolmogorov-Smirnov (Lilliefors) | Larger samples (n ≥ 50) | p > 0.05 → no departure from normality |
| Skewness / kurtosis | Every sample, alongside the test | Roughly ±1.5 (permissive: ±2) is acceptable |
| Q-Q plot | Every sample, as visual confirmation | Points should track the diagonal reference line |
| Histogram | Overall shape, checking for multimodality | Expect a single peak and rough symmetry |
If normality fails, what do you switch to?
The most common non-parametric counterparts of parametric tests:
| Parametric test | Non-parametric counterpart | Use case |
|---|---|---|
| Independent samples t-test | Mann-Whitney U | Comparing two independent groups |
| Paired samples t-test | Wilcoxon signed-rank | Pre-test / post-test, two measurements on the same people |
| One-way ANOVA | Kruskal-Wallis H | Three or more independent groups |
| Repeated measures ANOVA | Friedman test | Three or more measurements on the same people |
| Pearson correlation | Spearman correlation | Association between two continuous variables |
Common mistakes
Testing normality once across the pooled dataset in a group comparison — it must be checked within each group
Testing the raw dependent variable in regression or ANOVA; the assumption belongs to the residuals
Switching to non-parametric automatically because p < 0.05 in a large sample — at large n the test flags practically negligible departures, so read it alongside the plots and skewness/kurtosis
Deleting outliers without justification just to force normality; outlier handling is a separate, separately justified decision
Running a normality test on categorical or single-item Likert variables, where the assumption does not apply in the first place
Writing only 'the data were normally distributed' without reporting the test used, its statistic and the p value
Is it true that normality doesn't matter once n > 30?
Partly. The central limit theorem says the sampling distribution of the mean approaches normality as the sample grows, which is why t-tests and ANOVA are fairly robust to moderate departures in reasonably large samples. But that is not the same as 'skip the check when n > 30': the theorem concerns the distribution of the mean, not the distribution of your raw data, and severe skew or strong outliers can still distort results despite it. There is also nothing magic about 30 — the sample size you need depends on how skewed the distribution actually is.
The sound approach treats the test as decision support rather than a mechanical gate: read the p value, skewness/kurtosis, the Q-Q plot and the sample size together. In borderline cases, staying parametric with a stated justification and switching to a non-parametric test are both defensible — the only indefensible option is leaving the decision unjustified. Our reports always spell that justification out, so when your advisor or a reviewer asks 'why this test?', the answer is already on the page.
Frequently asked questions
Should I use Shapiro-Wilk or Kolmogorov-Smirnov?
Use Shapiro-Wilk when your sample is under 50 — it has more statistical power in that range and is the standard choice. From 50 upwards, use Kolmogorov-Smirnov with the Lilliefors correction. Shapiro-Wilk stays applicable to around n = 2000, but in very large samples both tests flag negligible departures, so interpret the result together with your plots.
My normality test returned p < 0.05 — what now?
Before switching to a non-parametric test automatically, check three things: are skewness and kurtosis within ±1.5, is the departure in the Q-Q plot spread across the distribution or driven by a few extreme values, and how large is your sample? In large samples, small and practically meaningless departures also produce p < 0.05. If the picture still shows a serious departure, switching to the non-parametric counterpart is the right call.
Which variable should I test for normality?
The continuous dependent variable — but at the level your analysis requires. Comparing two groups: within each group separately. Running regression or ANOVA: on the model's residuals. Independent variables and categorical variables do not need to be normally distributed; that's a widespread misconception.
Do you test normality on Likert survey data?
A single Likert item is ordinal, so the normality assumption isn't meaningful at that level and a non-parametric approach fits better. A total or mean score across several items, however, can be treated as continuous, and testing normality on that composite score is widely accepted practice.
Do you run this analysis in SPSS?
We run it with our own Python-based analysis stack; the results match the Shapiro-Wilk / Kolmogorov-Smirnov output you'd get from SPSS's Explore menu exactly. You don't need an SPSS licence — we deliver it in the format SPSS users recognise, together with Q-Q plots and a skewness/kurtosis table.
If normality fails, should I transform the data?
Sometimes, but it isn't the first resort. Log or square-root transformations can help with skewed distributions, though your findings then have to be interpreted on the transformed scale and that has to be explained in the write-up. In most thesis and manuscript contexts, moving to the non-parametric counterpart is more transparent and easier to defend. We can assess which fits your data better during the free initial review.
Let us handle the normality check and test selection
Send your data and we'll assess normality per group — or on residuals where the model calls for it — deliver Q-Q plots and a skewness/kurtosis table, and select the right test with its justification written out. The initial review is free.
Last updated: July 20, 2026