Website Image Sizes: The Complete Table

Size each image for the widest space it fills, then double that width for high density screens. A full width hero works at 2560 by 1440, a blog body image at 1600 wide, a square product photo at 2048 by 2048 on Shopify, and a social share image at 1200 by 630. Keep photos under roughly 200 KB.

Quick sizes for the most common slots
SlotPixels to exportAspect ratio
Full width hero2560 x 144016:9
Blog body image1600 x 90016:9
Product photo (Shopify)2048 x 20481:1
Share image (og:image)1200 x 6301.91:1
LogoSVG, or PNG at 2x its display sizeMatches the logo

Updated

There is no official standard for a hero or blog image. What does exist is simple arithmetic: how many CSS pixels the slot is wide, times the screen density you want to look sharp on. The table below applies that rule to every common slot, and where a platform publishes its own number, such as Shopify for products or Facebook for share images, we use the published figure.

Image size calculator

Enter the width an image fills in your layout, in CSS pixels, and choose the screen densities to cover. The calculator lists the pixel widths to export and writes the matching srcset.

Image sizes for every slot

Slot widths are typical desktop layouts. Measure your own theme and apply the 2x rule if yours differ.

Export sizes, ratios and file budgets per slot
SlotCSS widthExport pixelsRatioBudgetNote
Full width hero100vw (up to 1280+)2560 x 144016:9250 KBAdd 1280 and 1920 wide copies in srcset
Contained hero12002400 x 135016:9200 KBTwice the container width
Banner strip100vw2560 x 80016:5150 KBKeep text out of the outer edges; the sides crop on phones
Blog featured image800 to 12001600 x 900 up to 2400 x 135016:9150 KBMatch your theme's content width
Blog body image720 to 8001600 x 90016:9 or 3:2150 KBBody columns are narrower than heroes
Product photoGrid card2048 x 20481:1200 KBShopify's recommended square size
Collection or category card400800 x 800 or 800 x 10001:1 or 4:580 KBUse one ratio across the whole grid
Team or avatar photo200400 x 4001:140 KBOften shown in a circle; centre the face
Logo in headerabout 160SVG, or PNG at 320 wideLogo's own20 KBSVG stays sharp at every size
Background texture100vw1920 x 108016:9150 KBLower quality is fine behind text
Share image (og:image)Not shown on page1200 x 6301.91:1Under 8 MB (aim far lower)Facebook's recommended size
Favicon16 to 32SVG plus 32 x 32 ICO or PNG1:15 KBSee the favicon guide for every size

Markup for a responsive hero

Full width hero with three widths

The browser picks the smallest file that still covers the viewport at the screen's density. width and height set the ratio so nothing jumps while it loads.

<img
  src="/img/hero-1920.webp"
  srcset="/img/hero-1280.webp 1280w,
          /img/hero-1920.webp 1920w,
          /img/hero-2560.webp 2560w"
  sizes="100vw"
  width="2560" height="1440"
  alt="Workshop bench with hand tools laid out"
  fetchpriority="high">

The one rule behind every number

Browsers lay pages out in CSS pixels. A phone or retina laptop packs two or three device pixels into each of those, so an image exported at exactly its CSS width looks soft on them. Doubling the width fixes that for nearly everyone.

Going past 2x rarely pays off for photos. The file roughly doubles again in weight and the extra detail is hard to notice at normal viewing distance.

Aspect ratio matters more than exact pixels

Most layouts scale images to fit their column, so the ratio decides how a picture sits on the page. Pick one ratio per slot, crop every image to it, and the grid stays tidy whatever the width.

Common choices are 16:9 for heroes and article images, 1:1 for products and avatars, 4:5 for portrait cards, and 1.91:1 for share images.

Budgets keep pages fast

The largest image above the fold is often the element that decides Largest Contentful Paint. A heavy hero slows the page more than any other single file, so it deserves the most care.

Set a budget per slot and stick to it. When a photo will not fit the budget at good quality, try WebP or AVIF before reducing resolution.

How it works

  1. Find the slot in the table, or measure how wide it renders in your layout with the browser's inspector.
  2. Type that CSS width into the calculator and pick the densities you want to cover.
  3. Export the widths it lists, compress each one, and paste the generated srcset into your img tag.
  4. Check the file size against the budget column before you upload.

Tips

Frequently asked questions

What size should a hero image be?

For a hero that spans the full browser width, export 2560 by 1440 for big screens and add 1280 and 1920 wide versions in srcset so phones and laptops download less. If the hero sits inside a 1200 pixel container, 2400 wide is enough.

What size are Shopify product images?

Shopify's help centre says square product images usually display best at 2048 by 2048 pixels. Uploads can be up to 5000 by 5000 pixels and must be under 20 MB. Keep every product photo the same ratio so collection grids line up.

What size is an Open Graph share image?

Facebook's sharing docs recommend at least 1200 by 630 pixels, a 1.91 to 1 ratio, and a file under 8 MB. Smaller images still work down to 600 by 315 but show at a reduced size.

How large should the file be, not just the pixels?

Pixel size and file size are separate. A 1600 wide photo saved as WebP or a well compressed JPEG usually lands between 80 and 200 KB. If an image is far above that, lower the quality setting or switch format before you shrink its dimensions.

Do I need different images for mobile?

Usually not different crops, just smaller copies of the same file listed in srcset. Use the picture element only when a phone needs a different crop, such as a tall version of a wide banner.

Related: Image compressor, Social media image sizes, How to optimize images for the web, Favicon sizes and code, Image cropper.

Start for free or see all free tools. We.Inc is free to start, with no card needed. AI building is on paid plans from $20 a month.

More in Guides

We.Inc is an AI-powered website builder you can resell under your own brand. Launch a branded client dashboard, bill on Stripe Connect, and deliver AI-generated websites in minutes. White-label plans start at $99 a month for 25 client sites, with a 7-day free trial and no per-site fees.

Product

Who It's For

Features

Resources

Company

View Sitemap