Images have no width and height
One or more images set neither a width nor a height attribute, so the browser does not know how much space to reserve and the page can jump as each image loads — the layout shift that Core Web Vitals penalise and that makes people mis-tap.
Why it matters
One or more images set neither a width nor a height attribute, so the browser does not know how much space to reserve and the page can jump as each image loads — the layout shift that Core Web Vitals penalise and that makes people mis-tap. Add width and height attributes (the intrinsic pixel size; CSS can still scale it), or set an aspect-ratio in CSS. (Count in the evidence.)
How ShipReady detects it
Markup hygiene read straight from the fetched HTML — no extra requests. Page-scoped because images and scripts differ between routes.
Detection is deterministic. ShipReady reports this only when it observes the condition directly, and prefers to miss a real problem over inventing one. Rule version 1.0.0.
How to fix it
This is the prompt ShipReady puts in your report — written to be pasted straight into Cursor, Claude Code, or whichever assistant built the app.
One or more images have neither a width nor a height attribute, so the browser cannot reserve space for them and the page jumps as they load — the layout shift Core Web Vitals penalise. Add width and height attributes set to the image's intrinsic pixel size (CSS can still scale it responsively — the attributes only give the browser an aspect ratio to reserve). In Next.js use next/image, which sets these for you; otherwise add the attributes in your image component or, at minimum, set an explicit aspect-ratio in CSS for the image's container.
Frequently asked questions
- What does "Images have no width and height" mean?
- One or more images set neither a width nor a height attribute, so the browser does not know how much space to reserve and the page can jump as each image loads — the layout shift that Core Web Vitals penalise and that makes people mis-tap.
- How serious is it?
- ShipReady rates this low. Worth fixing. Small individually, and they accumulate.
- How do I fix it?
- Paste the fix prompt on this page into Cursor, Claude Code or your AI editor. It is the same prompt ShipReady puts in your report.
- Can I check my own site?
- Yes — ShipReady scans up to ten pages of any public site for free and reports this alongside every other check. The free report lists every issue it finds and shows full evidence and a fix prompt for the critical and high-severity ones; medium and low findings are counted and unlock on Pro.
Related checks
- Several scripts block the page from renderinglow
- A JavaScript bundle is large enough to make the page feel slowmedium
- An image is large enough to be slowing the page downmedium
- Real visitors wait too long to see your main contentmedium
- The page is served without compressionmedium
- The page is slow to respond when people tap or clickmedium
Run this check on your site
ShipReady checks this and 193 other things across up to ten pages of your site, with an AI-ready fix for each. Free, no signup.