Layout Shift Checker

Find images and embeds with no declared size — the usual cause of a page jumping as it loads.

The page to check.

20 runs left today · sign up for more

About this tool

Finds the images, iframes and video elements that declare no dimensions, plus the fonts and ad slots that commonly move content around.

An image with no width and height occupies nothing until it arrives, then pushes everything below it down. That is why a tap lands on the wrong button: the thing you aimed at moved between seeing it and touching it. Declaring the attributes lets the browser reserve the space in advance, and it still works when CSS resizes the image — the browser uses the ratio, not the pixels.

This reads the HTML. The actual shift depends on CSS and network timing, so treat this as the list of candidates rather than a score.

Common questions

Why declare width and height if CSS resizes the image anyway?

Because the browser uses them to work out the aspect ratio and reserve the right space before the file arrives. Modern browsers combine the attributes with your CSS rather than being overridden by it — this stopped being a conflict years ago.

What counts as a bad CLS score?

Above 0.1 needs work; above 0.25 is poor. This tool does not produce a score, because a score needs the page rendered with its CSS over a real network. It gives you the elements that cause them.

Do fonts cause layout shift?

Yes. Text drawn in a fallback font and then re-drawn in the real one reflows everything around it. font-display: optional avoids the swap entirely; size-adjust makes the fallback match more closely.

What about ads and embeds?

They are the worst offenders because their size often is not known until they load. Reserve a fixed slot with min-height matching the most common size, and accept the blank space over the shift.