QQ Plot Interpretation: How to Read Departures From Normality

A normal QQ plot compares ordered sample values or residuals with theoretical normal quantiles. Points close to a straight reference line indicate that location, scale, and tail behavior are broadly compatible with that reference. Systematic curvature tells you how the distribution departs; random small deviations do not create a pass/fail boundary.[NIST/SEMATECH (2012)] [R Core Team (2026)]

Illustrative QQ plots showing near-linear points, an S-shaped heavy-tail pattern, a skewed curve, and stepped discrete values.
Illustrative synthetic patterns; no empirical dataset is represented.

Read the pattern, not a correlation score

PatternLikely readingCheck
Points roughly follow a lineDistribution broadly matches the reference shapeLook for tail departures hidden by the center.
Ends bend away in opposite directionsHeavier tails than the referenceInspect extreme observations and model sensitivity.
Ends bend inwardLighter tailsConfirm with histogram and substantive bounds.
One-sided curveSkewnessTail direction and possible transformation/model choice.
A few remote pointsIsolated extremes or data issuesVerify records; do not delete from the plot alone.
Horizontal stepsTies or discrete/rounded dataA continuous normal reference may be inappropriate.

The axes can be reversed by software, which reverses some visual descriptions. Read axis labels before memorizing “up means right skew.”

How the plot is constructed

The data are sorted. Each order position is paired with a probability and then with the corresponding quantile from the reference distribution. If the sample differs only in location and scale, the points lie approximately on a line; the intercept and slope absorb those two differences. Wilk and Gnanadesikan developed probability plotting as a family of graphical methods for comparing ordered observations with theoretical distributions.[Wilk (1968)]

R’s qqnorm creates a normal QQ plot and qqline adds a robust line through selected quartiles.[R Core Team (2026)] That line is a software construction, not a statistical acceptance threshold.

Plot the quantity whose assumption matters

Regression and ANOVA assumptions usually concern model errors, so inspect residuals rather than requiring the raw outcome to be normal. A mixture of groups can make pooled raw data nonnormal even when the conditional error model is reasonable.

Use residual plots for mean structure, variance, leverage, and influence. Skewness and kurtosis describe aspects of shape numerically, while normality tests provide a formal p-value whose sensitivity changes with sample size.

Why a QQ plot can beat a binary normality test

At large n, a normality test can detect a tiny departure with little practical effect. At small n, it may miss a consequential tail pattern. A QQ plot shows where the mismatch lies: center, one tail, both tails, or isolated points. It does not remove the need for uncertainty or design-aware judgment, but it answers more than “reject/do not reject.”

A defensible reporting sentence

“The residual QQ plot followed the reference line through the center but departed in both tails, indicating heavier-than-normal tail behavior. We assessed the sensitivity of intervals and influential observations rather than declaring normality from a single p-value.”

Sources and notes

  1. NIST/SEMATECH (2012). Normal Probability Plot e-Handbook §1.3.3.21; definition, interpretation, and examples
  2. R Core Team (2026). Quantile-Quantile Plots Description; Details; qqline construction
  3. M. B. Wilk and R. Gnanadesikan (1968). Probability Plotting Methods for the Analysis of Data Biometrika 55(1):1–17

Optional analytics help us understand site use. They remain off unless you accept.

Your preferences