# Cumulative Layout Shift (CLS)

> CLS measures how much visible content moves around unexpectedly while a page loads and is used. A good CLS is 0.1 or less.

**Cumulative Layout Shift (CLS)** scores unexpected movement of visible content: text jumping down as an image loads, or a button moving just as you tap it. It is one of the three [Core Web Vitals](/glossary/core-web-vitals). CLS is a unitless score based on how much of the viewport moved and how far.

| Rating | CLS (75th percentile) |
|---|---|
| Good | 0.1 or less |
| Needs improvement | 0.1 to 0.25 |
| Poor | Over 0.25 |

## Common causes

- Images, videos and iframes without `width` and `height` attributes
- Ads, embeds and banners injected above existing content
- Web fonts that swap in with very different metrics
- Content inserted by JavaScript after the first render

## How to improve it

Give every image and embed explicit dimensions or an `aspect-ratio`, reserve space for ads and banners, and avoid inserting content above what the visitor is reading. Shifts within 500 ms of a user interaction do not count.
