Comprehensive image optimization analysis with JavaScript rendering
In 30 seconds
Enter a URL and we load the page in a real Chrome browser and inspect every image that ends up on it, including ones added by JavaScript. For each one we measure the file size, its real dimensions against the size it’s shown at, its format, and whether it’s in the first screenful. It flags:
srcset, so phones download the desktop version.The summary totals it all up: images with and without alt text, lazy loading, srcset, oversized images, modern and older formats, and total image weight.
Images are usually the heaviest part of a page, and the biggest one in the first screen is often the Largest Contentful Paint, one of Google’s Core Web Vitals. Unoptimized images are the single most common reason pages are slow on mobile.
They’re content, too. Good alt text tells search engines what an image shows, helps it appear in Google Images, and makes the page usable with a screen reader. For product, recipe and travel sites, image search can bring real traffic.
Describe what the image shows and why it’s there: “Red trail running shoe with a thick cushioned sole, side view”, not “shoe” or “IMG_4821”. Keep it under about 125 characters and skip the keyword stuffing.
Quick fix
Decorative images still get an alt attribute, just an empty one: alt="". Screen readers will skip them.
Compress before uploading, or let your CMS or image CDN do it. Photo quality around 75 to 85 usually looks identical at a fraction of the size. Aim to keep the hero image under about 100 to 200 KB.
A 4000-pixel photo in a 400-pixel slot makes visitors download ten times more pixels than they can see. Resize to the largest size it’s shown at, and use srcset so each device gets the right one:
<img
src="/shoe-800.webp"
srcset="/shoe-400.webp 400w, /shoe-800.webp 800w, /shoe-1600.webp 1600w"
sizes="(max-width: 600px) 100vw, 400px"
width="800" height="600"
alt="Red trail running shoe, side view">Add loading="lazy" to images below the fold so they only load as the visitor scrolls near them.
Watch out
Never lazy load the main image in the first screen. It delays your LCP. Give that one fetchpriority="high" instead.
WebP works in every modern browser and is typically 25 to 35 percent smaller than the same JPG. AVIF is often smaller still. Use SVG for logos and icons. Many platforms convert automatically, so check yours before doing it by hand.
Always set width and height, or a CSS aspect ratio, so the browser saves space before the image arrives. Otherwise the layout jumps.
red-trail-running-shoe.webp.srcset.<img> tags, not just CSS backgrounds, which aren’t indexed as images.Sliders, galleries and lazy loading libraries often add images with JavaScript. A plain HTML check would miss them, or only see placeholders.
Only if it naturally describes the image. Accurate descriptions help image search and accessibility; forced keywords help neither.