To read a Shapiro-Wilk result you only need two numbers: W and p. W tells you how closely your data match a normal distribution (1.00 would be a perfect fit, and values near 1 indicate good fit). The p-value does not measure how bad the departure is: it only tells you whether that departure is statistically detectable, and that depends heavily on sample size. With p ≥ .05 you keep the normality assumption; with p < .05 you have detected a departure that may be completely irrelevant in practice. The useful rule: with n ≥ 30 per group, a significant Shapiro-Wilk almost never stops you from running a t-test or ANOVA, because what decides it is the size of the departure (histogram, Q-Q plot, skewness), not the p-value.
- W (the statistic): the closer to 1, the better your data fit the normal curve. Values clearly below .90 in medium samples usually correspond to a departure you can already see in the histogram.
- p (the significance): the probability of observing that departure if the data were perfectly normal. It measures detectability, not severity. With large n it flags trivial departures; with small n it misses even the important ones.
- How to report it: W(87) = .97, p = .023. That is, W with its degrees of freedom (which in SPSS output is your n) and the exact p to three decimals.
Where those two numbers are in your output
In SPSS. The table comes from Analyze > Descriptive Statistics > Explore, ticking "Normality plots with tests" inside the Plots button. It is labelled Tests of Normality and gives you three columns, Statistic, df and Sig., repeated for two different tests.
- Statistic in the Shapiro-Wilk block is W.
- df is the number of valid cases in that row. Use it as a free missing data check: if df is smaller than the n you thought you had, you have missing values in that variable and you did not know.
- Sig. is the p-value. SPSS prints three decimals, so ".000" means p < .001, never p = 0. Report it as p < .001.
The table stacks two tests: Kolmogorov-Smirnov with the Lilliefors correction, and Shapiro-Wilk. Read the Shapiro-Wilk row. At the sample sizes psychology works with it is generally the more powerful of the two, and it is the one reviewers expect to see. If the two rows disagree, that tells you the departure is borderline, not that one of them is lying.
If you dropped a variable into the "Factor List" box, Explore gives you one row per group, and that is exactly what you want when the next step is a t-test or an ANOVA. The assumption is about the distribution inside each group (strictly, about the model residuals), not about the raw variable pooled across groups. Testing the pooled variable can flag "non-normality" that is nothing more than the difference in means you are about to test.
In R. One line, and the printout carries the same two numbers:
Shapiro-Wilk normality test
data: data$anxiety
W = 0.97243, p-value = 0.02311
Two practical details about the R version. It only accepts sample sizes between 3 and 5000, so with a very large dataset it simply refuses to run, which is a fair hint about how little it would have told you there. And it takes a vector, not a formula, so to get it group by group you need something like by(data$anxiety, data$group, shapiro.test). If you have already fitted the model, the version that matches the actual assumption is shapiro.test(residuals(model)).
That is the whole table. The rest of this article is the part almost nobody explains: what to do when that p comes out below .05, and how to defend your decision.
It is one of the most common situations in doctoral theses: you have spent weeks collecting data, you run your analysis in SPSS or R, and before launching the t-test or ANOVA you check the normality assumption as you were taught. The Shapiro-Wilk test gives p = .018. Or the Kolmogorov-Smirnov gives p = .034. And then you freeze, because that means your data "are not normal" and you do not know whether you can proceed. You call a colleague, search forums, and receive contradictory answers. Someone tells you to switch to Mann-Whitney U. Another says that with n > 30 it does not matter. Your supervisor sends a cryptic email with a link to a 2008 paper.
The problem is not in your data. It is in how the normality test is usually taught, and misinterpreted. This article exists so that the next time you see a significant Shapiro-Wilk you know exactly what it means, what it does not mean, and how to justify your statistical decision to any reviewer or dissertation committee.
If what you have in front of you right now is a W and a p from your own analysis and you just want to know whether they block your parametric test, you do not need to read the rest of this article yet: the normality interpreter reads those two numbers together with your sample size and tells you, in plain language, whether you can proceed.
The classic mistake: treating p < .05 as a death sentence
The most frequent interpretation error is treating the result of a normality test as a binary traffic light: p ≥ .05 = normal data, I can use parametric tests; p < .05 = non-normal data, I have to switch to non-parametrics. This logic seems reasonable but is fundamentally incorrect, for reasons that have to do with how hypothesis tests work in general. It is the same confusion behind most of the common errors when interpreting statistical results: reading a p-value as if it measured the magnitude of something.
A normality test like Shapiro-Wilk answers a very specific question: are these data statistically incompatible with a perfectly normal distribution? The key word is "statistically." The p-value does not measure how much your data deviate from normality. It measures the probability of obtaining that deviation by chance if the data were perfectly normal. And that probability depends crucially on something that has nothing to do with the shape of your distribution: the sample size.
Why Shapiro-Wilk fails with large and small samples
With large samples (say, n > 100), Shapiro-Wilk has very high statistical power. So much that it detects deviations from normality that are absolutely trivial from a practical standpoint. If you have 300 participants and your data have a skewness of 0.12 (practically imperceptible visually), Shapiro-Wilk can reject the null hypothesis of normality and give you p = .004. Does that mean you cannot use ANOVA? No. It means your data are not perfectly normal in the strict mathematical sense. No real-world dataset ever is.
The opposite problem occurs with small samples. With n = 15 or n = 20, Shapiro-Wilk has low power, which means it may not detect important deviations from normality. With small samples you can get p = .23 even when your distribution has moderate skew, simply because the test does not have enough power to detect it. Here normality genuinely deserves concern, but the test gives you false reassurance.
In short: Shapiro-Wilk says "yes" when the sample is small (regardless of what the data look like) and says "no" when the sample is large (regardless of the data being nearly normal). It is a test whose practical utility for deciding which analysis to use is quite limited.
The Central Limit Theorem: what actually protects your analysis
The reason parametric tests are robust to non-normality in moderate-to-large samples is the Central Limit Theorem (CLT). This theorem establishes that, regardless of the distribution of individual data points, the sampling distribution of the mean converges toward a normal distribution as sample size increases. With n ≥ 30 per group, this convergence is generally sufficient for the t-test and ANOVA to work well even if the original data show some skewness or kurtosis.
This is what your supervisor was trying to tell you in that email. And it is also what most textbooks fail to explain clearly enough: the normality assumption in the t-test and ANOVA refers to the distribution of the residuals or model errors, not to the distribution of the raw data. And thanks to the CLT, that assumption is approximately met with reasonably sized samples even when the original data depart from normality.
The general rule used by most applied statisticians: with n ≥ 30 per group, you can proceed with parametric tests even when Shapiro-Wilk is significant, provided there are no extreme deviations (marked bimodal distributions, severe skewness such as that seen in untransformed reaction time data, or extreme outliers). With n < 20 per group, it is worth carefully evaluating the distribution and considering non-parametric or robust alternatives if there are clear deviations. Between 20 and 30, the criterion is the degree of deviation.
What to look at instead of (or in addition to) Shapiro-Wilk
Visual evaluation of the distribution is more informative than any formal test, especially with moderate samples. The three plots that provide the most information are:
Histogram: Lets you see the overall shape of the distribution. Look for approximate symmetry and unimodality. Mild skewness is normal in psychological data. A clearly bimodal distribution or a very long tail is a genuine warning sign.
Q-Q plot (quantile-quantile): Compares the quantiles of your data with the theoretical quantiles of a normal distribution. If the points follow the diagonal line approximately, the data are sufficiently normal. Deviations at the extremes of the distribution (in the tails) are the most problematic. This plot is especially useful with medium-sized samples.
Skewness and kurtosis statistics: Skewness values between -1 and +1 are generally acceptable for parametric tests. Absolute values above 2 indicate a deviation worth attention. Kurtosis is less critical than skewness in most situations.
For an immediate interpretation of your normality results, the normality interpreter analyzes your statistics and gives you a conclusion you can apply directly.
When normality actually matters
I do not want this article to push you to the opposite extreme: ignoring assumptions entirely. There are situations where non-normality is a real problem:
Small samples (n < 20 per group): With small samples, the CLT does not guarantee robustness and the shape of the distribution can genuinely affect results. Here it makes sense to carefully evaluate the distribution and consider non-parametric or robust alternatives if there are clear deviations. If you do end up switching tests, this decision tree for choosing the right statistical test saves you a lot of circling.
Extremely skewed or bimodal distributions: If your reaction time data have a huge right tail, if your anxiety scores cluster at low values with very few high values, or if your distribution has two distinct peaks, parametric tests may be inappropriate regardless of sample size.
Extreme outliers: A single data point very far from the distribution can inflate variance and distort means. Here the problem is not normality per se but the disproportionate influence of atypical observations. The solution is not always to switch to non-parametrics, but to investigate the origin of the outlier and decide whether it makes sense to include it.
Pearson correlation analysis with small samples: Pearson's r assumes bivariate normality. With small samples, if one of the variables is highly skewed, it is advisable to use Spearman or transform the variable.
How to argue your case to your supervisor or a reviewer
This is the practical part that matters most to someone finishing a thesis. If you have obtained a significant Shapiro-Wilk and have decided to maintain parametric tests, here is how you justify it:
To your supervisor: "The Shapiro-Wilk test gives p = .023, but the sample size (n = 87) partly explains the test's sensitivity. Visual inspection via histogram and Q-Q plot does not show substantial deviations from normality: the distribution is slightly skewed (Sk = 0.41) but within acceptable ranges. Given the sample size, the Central Limit Theorem guarantees ANOVA robustness. In any case, I replicated the analysis with the non-parametric Kruskal-Wallis alternative and results are consistent."
To a journal reviewer: In the data analysis section of your method you include something like: "Statistical assumptions were verified prior to main analyses. Although the Shapiro-Wilk test was statistically significant for some variables, visual inspection of histograms and Q-Q plots did not reveal substantial deviations from normality, and skewness and kurtosis indices remained within acceptable ranges (|Sk| < 1, |Ku| < 2). Given the sample size (n = 87 per group), planned parametric analyses were conducted. Parallel analyses using non-parametric methods yield equivalent conclusions."
This justification meets all requirements: it acknowledges the formal test result, explains why it is not determinative, provides visual evidence, invokes the CLT, and demonstrates robustness through parallel analysis.
Before you submit: the assumptions paragraph is one of the first things a methodological reviewer checks, and plenty of rejections start right there. If your manuscript is already written, you can run it through the AI Paper Reviewer, a free Reviewer 2 style pre-review that points out which parts of your analysis would be questioned before the journal questions them.
A quick-reference decision table
| Situation | Shapiro-Wilk | What to do |
|---|---|---|
| n > 50, acceptable visual distribution | Significant | Proceed with parametric test. Mention in methods. |
| n = 30 to 50, moderate skewness | Significant | Parametric + replicate with non-parametric. Report consistency. |
| n < 20, clear skewness or bimodality | Any | Non-parametric or robust test. Justify choice. |
| n > 100, trivial deviation | Highly significant | Disregard formal test. Decision by visual inspection. |
| Extreme outliers detected | Any | Investigate outliers before deciding on test. |
What to do in practice: a step-by-step sequence
Instead of starting with Shapiro-Wilk, here is a sequence for efficiently evaluating the normality assumption:
Step 1: Calculate n per group. If n ≥ 30 in all groups, the CLT protects you in most cases. You can proceed with relative confidence.
Step 2: Visually inspect histogram and Q-Q plot. Look for marked skewness, bimodality, or very heavy tails. If it looks reasonably normal visually, go ahead.
Step 3: Check skewness and kurtosis. |Sk| < 1 is comfortable. Between 1 and 2 there is some deviation but generally manageable. Absolute values > 2 deserve consideration.
Step 4: If in doubt, run both the main analysis AND the non-parametric alternative. If both give the same substantive results, the normality issue does not affect your conclusions. And if you end up reporting the non-parametric one, here is how to report Mann-Whitney, Wilcoxon and Kruskal-Wallis in APA 7 without getting it sent back.
Step 5: Document everything in the methods section. A brief paragraph explaining how you checked assumptions and what you found demonstrates methodological rigor and protects you from reviewers.
For the complete set of statistical assumptions (not just normality, but also homoscedasticity, independence and linearity), the article on how to verify statistical assumptions in SPSS and R has a complete checklist with code included. And if you are unsure which test to use once you have decided how to handle the assumptions, the statistical test selector guides you step by step.
If you are in the analysis phase of your doctoral thesis and the assumptions situation is making you doubt whether your approach is correct, my statistical consulting for doctoral theses is where we review the diagnostics together and build a solid methodological justification you can defend before your committee or an editorial board.