Hero Image Size: Optimal Dimensions for Above-the-Fold
The recommended dimensions, aspect ratios, and file-size budgets for hero images that look sharp on every screen and don't tank your Core Web Vitals scores in the process.
Want to check whether your hero image is properly sized?
Run a free scan →Looking for sizes for other elements? See our full image size reference.
Quick Answer
1920×1080 pixels at 16:9 for the desktop hero. This single number covers 1080p displays at 1×, 720p displays at 2×, and most laptop screens cleanly. Save as WebP at quality 80 and target 200–400 KB. Add a smaller srcset variant for mobile.
That is the answer for most sites. The longer version below covers when to deviate — ultrawide layouts, mobile art direction, retina-density displays, and the performance implications of heroes specifically.
Recommended Hero Sizes by Use Case
| Layout | Recommended Size | Aspect Ratio | Notes |
|---|---|---|---|
| Standard full-width | 1920×1080 | 16:9 | Safe default for almost any site |
| 4K-targeted | 2560×1440 | 16:9 | Only if your audience is design-pro / 4K-monitor heavy |
| Ultrawide cinematic | 2560×1080 | 21:9 | Needs separate mobile crop — too narrow on phones |
| Mid-page hero | 1600×600 | ~8:3 | Feature banner inside content rather than full-page |
| Mobile companion | 750×1000 | 3:4 or 1:1 | Use with picture element if desktop crop fails on mobile |
Why 1920×1080
Three reasons the 1920×1080 default has stuck around since the mid-2010s:
- Most desktop viewports are still around this size. Statcounter has been showing 1920×1080 as the most common screen resolution worldwide for a decade. A hero image at exactly this size renders 1:1 — no upscaling, no downscaling, sharpest possible result on the most common screen.
- It's a clean 2× of 960×540. When you scale down for mobile or constrained layouts via srcset, you get round numbers that browsers handle without sub-pixel artifacts.
- It hits a reasonable compression sweet spot. A well-compressed 1920×1080 WebP is comfortably under 400 KB; a 4K (3840×2160) version of the same image is 1–2 MB. The visual quality difference on a 1080p screen is zero.
The argument for going to 2560×1440 is retina rendering on 1440-pixel-wide containers, which exists but is rare for hero slots specifically — most hero containers are constrained by viewport, not designer-set width. Save the bytes for elements where retina density actually matters (product photos, icons in tight grids).
Mobile: Art Direction or Scaling?
The single biggest mobile-hero mistake is letting a 16:9 desktop image render unchanged on a portrait phone screen. On a 375-pixel iPhone viewport, a 1920×1080 image at full width displays as 375×210 — a thin sliver. Subjects get tiny, important elements get cropped or lost.
Two solutions:
- If the desktop crop survives center-cropping to portrait: srcset alone is enough. The browser picks a smaller variant, displays it at the correct size, and you save bytes without changing the framing.
- If the desktop crop fails on portrait (faces cut off, text cropped, key visual elements lost): use the
<picture>element with art-direction sources. This swaps the entire image based on viewport, letting you ship a portrait-cropped or recomposed mobile version. The cost is maintaining two creative variants of the same hero.
<picture> <source media="(max-width: 768px)" srcset="/hero-mobile.webp"> <source media="(min-width: 769px)" srcset="/hero-desktop.webp"> <img src="/hero-desktop.webp" alt="..." width="1920" height="1080"> </picture>
File Size Targets
Hero images are the largest single asset on most homepages. Reasonable targets:
- 1920×1080 desktop hero (WebP, q80): 200–400 KB
- Same image as JPG fallback (q80): 300–500 KB
- Mobile companion (750×1000 WebP): 80–150 KB
- 4K-targeted hero (2560×1440 WebP): 400–700 KB — already crossing into "costing you LCP" territory
Above ~800 KB the image starts measurably hurting page load. Above 1.5 MB Google Lighthouse will flag it. Above 3 MB you have a real Core Web Vitals problem.
Hero Images and Core Web Vitals
On most homepages and landing pages, the hero image is the Largest Contentful Paint (LCP) element — the single largest visible thing the browser has to render before the page feels "done". LCP is one of the three Core Web Vitals Google uses as a ranking signal. Slow hero = slow LCP = lower rankings.
Three concrete things that improve hero LCP:
- Don't lazy-load it. Lazy loading defers image download until the browser estimates the image is about to be visible. The hero is visible immediately. Setting
loading="lazy"on a hero is one of the more common ways to break LCP — it appears as if you optimized something but actually slowed it down. - Use
fetchpriority="high"on the hero image tag. Tells the browser to download this image with higher priority than other resources on the page. Available in all modern browsers as of 2023. - Preload it. Add
<link rel="preload" as="image" href="/hero.webp">to the document head. The browser starts downloading the hero before it has even parsed the body, shaving 100–500 ms off LCP on slower connections.
See exactly how big your hero image is shipping at.
Scan a URL →Common Mistakes
- Using PNG for a photographic hero. PNG is lossless, which means a JPG-suitable image (a photograph) becomes 5–10× larger as a PNG with no visible quality benefit. Use JPG, WebP, or AVIF for photos. PNG only when transparency or sharp edges matter.
- Lazy-loading the hero. Common in image-heavy templates that lazy-load everything by default. Override the default for the hero specifically.
- Shipping at 4000+ pixels wide. Most heroes are constrained by viewport width. A 4000-pixel hero displayed in a 1920-pixel container is the same visible image with 4× the file size. Cap source dimensions at the largest realistic viewport.
- Forgetting the alt attribute. Hero images often have decorative roles, but if your hero contains text overlaid on it, the alt should describe the image content (the underlying photograph), not the overlay text. Empty alt is OK when truly decorative but rarely correct for editorial hero images.
- Skipping width and height attributes. Browsers reserve space for the image only after they know its dimensions — without explicit width/height, layout shifts happen as the hero loads, hurting Cumulative Layout Shift (another Core Web Vital). Always set both.
- Stretching a small source to fit a large container. If your hero container is 1920 pixels wide and your source is 800 pixels, the browser upscales — and upscaled images look soft on every device. Match source to displayed size, or go larger (never smaller).
Tools That Help
Hero images are heavy by their nature, and the highest-leverage thing you can do is compress them well at the source plus serve via a CDN that handles format negotiation.
ShortPixel
Compresses heroes at upload and on demand, serves WebP/AVIF automatically to browsers that support them. Useful if you generate hero variants programmatically (per-page heroes on landing pages) and want each one optimized without per-image manual work.
Try ShortPixelBunny.net
Image CDN with on-the-fly resizing and format conversion. For high-traffic pages where the hero is hit thousands of times per minute, a CDN cuts both load time and bandwidth costs noticeably. Bunny supports per-URL transformation parameters, so you can serve the same source image at desktop and mobile sizes from a single asset.
Visit Bunny.netFrequently Asked Questions
What is the best size for a hero image?
1920×1080 pixels at 16:9 aspect ratio for desktop is the safest default. It fills standard 1080p viewports without forcing the browser to upscale, scales down cleanly via srcset for smaller screens, and keeps file weight manageable when properly compressed. Sites with ultrawide hero designs use 2560×1080; sites targeting 4K can go to 2560×1440, but the file-size cost rarely justifies it.
What aspect ratio should a hero image be?
16:9 is the most common and works on virtually every screen. 21:9 (ultrawide) creates a cinematic feel but cuts off badly on mobile if you do not provide a separate portrait crop. 4:3 and 1:1 work for sectioned designs but feel dated for full-bleed heroes. Pick 16:9 unless you have a specific design reason to deviate.
Should I use a separate mobile hero image?
Yes if the desktop crop loses critical content on mobile (a person's face cropped out, key text cut off). Use the HTML <picture> element with art-direction sources to swap the entire image based on viewport width — not just to scale a smaller version of the same crop. If the desktop crop survives a center-crop to portrait, srcset alone is enough.
How big should a hero image be in file size?
Target 200–400 KB for a 1920×1080 JPG at quality 75–80. Aggressive compression (quality 60–65) is acceptable and often invisible on heroes because they are visual backgrounds — viewers do not study them at pixel level. Above 800 KB the image starts hurting Largest Contentful Paint scores, which Google uses as a Core Web Vital.
What format should a hero image use?
Modern stack: serve WebP or AVIF via srcset with a JPG fallback for the few browsers that need it. WebP cuts file size 25–35 percent versus JPG at the same visual quality; AVIF cuts another 20 percent on top. If you can only ship one format, ship WebP — every modern browser supports it. PNG is wrong for heroes unless transparency is involved.
Should I lazy-load my hero image?
No. Lazy loading defers the image download until the browser estimates it will be visible — but the hero image is visible immediately on page load, so deferring it only slows rendering. Set loading="eager" (the default) and add fetchpriority="high" to tell the browser to prioritize it over other resources. This is a measurable Core Web Vitals improvement.
What is the impact of a hero image on Core Web Vitals?
The hero is almost always the Largest Contentful Paint (LCP) element on a homepage or landing page. LCP is one of three Core Web Vitals Google uses for ranking, and it should fire in under 2.5 seconds on 75 percent of page loads to count as "good". A 3 MB unoptimized hero JPG is the single most common cause of failing LCP.
Related Guides
- Best image sizes for websites in 2026 — full reference covering hero, blog, social, and more.
- Shopify image sizes: complete guide — Shopify-specific hero, banner, and product image dimensions.
- WordPress featured image size — featured-image dimensions per theme, including hero/header use cases.
- Find oversized images on your website — heroes are the most common culprit; this covers the audit workflow.
- Natural vs rendered image dimensions — the technical concept behind "your hero is shipping at 3× the size it's displayed at".
- Open Graph image size — your hero often doubles as the og:image for social shares.
- Squarespace image sizes — Squarespace banners are CSS-driven heroes; specific platform reference.
- Webflow image dimensions — Webflow hero sections plus the responsive variant system.
Last updated: