Large, uncompressed images slowing down your pages
Unoptimized images are large image files, often straight out of a camera or a design tool, committed to your project without being resized or compressed for the web.
#What goes wrong
A hero image or product photo gets dropped straight into the public folder at its original resolution, sometimes several megabytes, because it looks fine on a fast office connection during development. Nobody notices until a real visitor on mobile data waits several seconds for the page to render.
#Why it matters
Large images are consistently the biggest single cause of slow page loads. Beyond the user experience cost, page speed is a direct ranking factor in Google's Core Web Vitals, so oversized images can quietly cost you search visibility as well as visitors who leave before the page finishes loading.
#How Heimdall checks for this
Heimdall scans your committed image files and flags any that are large enough to meaningfully affect load time, especially ones served without an optimization pipeline like Next.js's built-in Image component.
#How to fix it
Compress images before committing them using a tool like Squoosh or TinyPNG, convert to a modern format like WebP or AVIF, and serve them through an optimizing component like next/image, which automatically resizes and compresses images for each device.
Frequently asked questions
Does next/image fix this automatically?
What's a reasonable size for a hero image?
Do I need to worry about this for icons and small UI images?
Run this check on your own repo
Heimdall scans your GitHub repo for this and 29 other issues in under a minute.
