How to Check Normality in SPSS (Shapiro-Wilk, Q-Q Plots, Skewness)
Most parametric statistical tests assume your data follows a normal distribution. Before you run a t-test, ANOVA, regression, or correlation, you need to check whether this assumption holds. If it does not, your results may be unreliable and your supervisor will likely ask you to justify or correct it.
This guide walks you through every method SPSS offers for assessing normality and tells you exactly what to do with the results.
Why Normality Matters
Parametric tests like the independent samples t-test, paired samples t-test, one-way ANOVA, Pearson correlation, and linear regression all assume that the dependent variable is approximately normally distributed (or that residuals are normally distributed, in the case of regression).
Violating this assumption can lead to:
- Inflated Type I error rates (finding significance when there is none)
- Reduced statistical power (missing real effects)
- Biased parameter estimates in regression models
The good news is that many tests are robust to mild violations of normality, especially with larger sample sizes (n > 30). But you still need to check and report it.
Method 1: Shapiro-Wilk Test
The Shapiro-Wilk test is the most recommended formal test of normality for samples under 2,000.
How to Run It
- Go to Analyze → Descriptive Statistics → Explore
- Move your dependent variable into the Dependent List box
- If you want to check normality by group, move the grouping variable into the Factor List box
- Click Plots
- Check Normality plots with tests
- Click Continue, then OK
Interpreting the Output
SPSS produces a "Tests of Normality" table with two tests:
| Test | Best For |
|---|---|
| Kolmogorov-Smirnov (with Lilliefors correction) | Large samples (n > 2,000) |
| Shapiro-Wilk | Small to medium samples (n < 2,000) |
Decision rule:
- If p > .05, the data is not significantly different from normal — the assumption is met
- If p < .05, the data significantly deviates from normality — the assumption is violated
Important: The Shapiro-Wilk test is sensitive to sample size. In large samples, even trivial deviations from normality will produce a significant result. This is why you should always combine formal tests with visual inspection.
Method 2: Q-Q Plots
A Q-Q (quantile-quantile) plot compares the observed values in your data against the values you would expect if the data were perfectly normal.
When you run the Explore procedure with normality plots enabled, SPSS automatically generates a Normal Q-Q Plot.
How to Read It
- The diagonal line represents a perfect normal distribution
- Each dot represents an observed data point
- If data points fall close to the line, the data is approximately normal
- If data points curve away from the line at the ends, the distribution is skewed
- An S-shaped pattern suggests the data has heavier or lighter tails than a normal distribution
Q-Q plots are often more informative than formal tests because they show you where and how the data deviates from normality.
Method 3: Histograms With Normal Curve
Histograms give you a quick visual sense of the shape of your distribution.
How to Generate Them
- Go to Analyze → Descriptive Statistics → Frequencies
- Move your variable into the Variable(s) box
- Click Charts
- Select Histograms and check Show normal curve on histogram
- Click Continue, then OK
Look for whether the bars roughly follow the bell-shaped curve. Common patterns that indicate non-normality:
- Positive skew: Tail extends to the right, peak is on the left
- Negative skew: Tail extends to the left, peak is on the right
- Bimodal distribution: Two peaks instead of one
- Uniform distribution: Bars are roughly equal in height
Method 4: Skewness and Kurtosis Values
Skewness and kurtosis are numerical measures of the shape of your distribution.
How to Get Them
- Go to Analyze → Descriptive Statistics → Descriptives
- Move your variable into the Variable(s) box
- Click Options
- Check Skewness and Kurtosis
- Click Continue, then OK
Interpreting the Values
Skewness measures symmetry:
- Skewness = 0: Perfectly symmetric
- Skewness > 0: Positively skewed (right tail)
- Skewness < 0: Negatively skewed (left tail)
Kurtosis measures tail heaviness:
- Kurtosis = 0: Normal tails (mesokurtic)
- Kurtosis > 0: Heavy tails, sharp peak (leptokurtic)
- Kurtosis < 0: Light tails, flat peak (platykurtic)
Rule of thumb for acceptable values:
- Skewness between −2 and +2 is generally acceptable
- Kurtosis between −2 and +2 is generally acceptable
Some researchers use a stricter criterion of −1 to +1 for both.
The Z-Score Method
You can also convert skewness and kurtosis to z-scores by dividing each value by its standard error:
z = skewness ÷ standard error of skewness
If the z-score is between −1.96 and +1.96, the skewness (or kurtosis) is not significantly different from zero at the .05 level. This method works best for samples between 50 and 300.
Putting It All Together: A Recommended Workflow
No single method is sufficient on its own. Use this workflow:
- Run the Explore procedure with normality plots enabled — this gives you the Shapiro-Wilk test and Q-Q plot in one step
- Check the Shapiro-Wilk p-value — if p > .05, normality is supported
- Inspect the Q-Q plot — even if the formal test is significant, minor deviations visible on the Q-Q plot may be acceptable
- Check skewness and kurtosis — values within −2 to +2 suggest the distribution is reasonably normal
- Look at the histogram — does it look roughly bell-shaped?
If all methods agree, you can confidently report that normality is met (or violated). If they disagree, prioritize the Q-Q plot and skewness/kurtosis values over the formal test, especially in larger samples.
What to Do If Data Is Not Normal
If your data violates the normality assumption, you have several options:
Option 1: Transform the Data
Common transformations that can normalize skewed data:
| Problem | Transformation |
|---|---|
| Positive skew | Log transformation: Transform → Compute Variable → LG10(variable) |
| Positive skew (with zeros) | Log(x + 1) transformation |
| Moderate positive skew | Square root transformation: SQRT(variable) |
| Negative skew | Reflect and log: LG10(K − variable), where K = max + 1 |
After transforming, re-run the normality tests on the transformed variable.
Option 2: Use Non-Parametric Alternatives
If transformation does not work, switch to non-parametric tests:
| Parametric Test | Non-Parametric Alternative |
|---|---|
| Independent samples t-test | Mann-Whitney U test |
| Paired samples t-test | Wilcoxon signed-rank test |
| One-way ANOVA | Kruskal-Wallis test |
| Pearson correlation | Spearman correlation |
Option 3: Use Bootstrapping
Bootstrapping is a resampling method that does not require normality. In SPSS, many tests have a Bootstrap button that generates confidence intervals without distributional assumptions.
Option 4: Report and Proceed (With Justification)
With large samples (n > 30 to 50), the Central Limit Theorem suggests that sampling distributions of means will be approximately normal regardless of the population distribution. If your sample is large and skewness/kurtosis are within acceptable ranges, you can proceed with parametric tests and note the minor violation in your results section.
How to Report Normality in Your Results Section
When Normality Is Met
The assumption of normality was assessed using the Shapiro-Wilk test and visual inspection of Q-Q plots. The test was not significant for exam scores (W = .98, p = .342), and the Q-Q plot showed data points falling approximately along the diagonal line, indicating that the normality assumption was satisfied.
When Normality Is Violated
The Shapiro-Wilk test indicated that the distribution of income significantly deviated from normality (W = .89, p < .001). Visual inspection of the histogram and Q-Q plot revealed a strong positive skew (skewness = 1.85). A log transformation was applied, after which the Shapiro-Wilk test was no longer significant (W = .97, p = .128), and skewness was reduced to 0.34. All subsequent analyses were conducted on the log-transformed variable.
Common Mistakes to Avoid
- Relying solely on the Shapiro-Wilk test — In large samples it flags trivial deviations. Always use visual methods alongside it
- Testing normality on the wrong variable — For regression, you should test the residuals, not the raw dependent variable
- Forgetting to test by group — For t-tests and ANOVA, you need to check normality within each group, not for the entire sample combined
- Ignoring the issue entirely — Some students skip normality checks altogether. Supervisors and reviewers will notice
- Over-transforming — Do not apply multiple transformations blindly. Choose based on the type of skew and check whether the transformation actually improved normality
Quick Reference Table
| Method | Where in SPSS | What to Look For |
|---|---|---|
| Shapiro-Wilk test | Analyze → Explore → Plots | p > .05 = normal |
| Q-Q plot | Analyze → Explore → Plots | Points close to diagonal |
| Histogram | Analyze → Frequencies → Charts | Bell-shaped curve |
| Skewness/Kurtosis | Analyze → Descriptives → Options | Values between −2 and +2 |
| Kolmogorov-Smirnov | Analyze → Explore → Plots | p > .05 = normal (large samples) |
Need help checking normality assumptions or running any statistical test? Our team handles the full assumption-checking process so your results hold up to scrutiny. Get a free quote.
Keep Reading
Get More Guides Like This
Free tutorials on SPSS, Excel, Python, and research methods delivered to your inbox.
Need Professional Data Analysis Services?
Save time and get accurate results. Our experts provide statistical analysis services using SPSS, Excel, and Python — from hypothesis testing to APA-formatted reports.