We fix Shopify bugs at a flat $49 per fix. Most fixes within 24 hours.

Fix My Bug →

Shopify Horizon Image Sizes: Hero, Banner, and Product Images

Shopify Field Notes ··Johnny Chen Founder & Shopify Developer at CheckoutWorks
Cover titled Image Sizes That Stay Sharp, showing one wide test image with a white frame around the part a desktop keeps and a green frame around the part a phone keeps.

For a Shopify Horizon hero or banner, upload a desktop image of 3840 × 1920 px and a separate mobile image of 1600 × 1600 px. For product images, use 2048 × 2048 px (square) or 1600 × 2000 px (portrait) and keep one shape across the catalog.

Recommended sizes

Image Upload this size Smallest that stays sharp
Hero or banner, desktop 3840 × 1920 px (2:1) 1920 × 960 px
Hero or banner, mobile 1600 × 1600 px (1:1) 800 × 800 px
Hero, two images side by side 1920 × 1920 px each (1:1) 960 × 960 px each
Slideshow slide 3840 × 1920 px (2:1) 1920 × 960 px
Product image 2048 × 2048 px (1:1) 1200 × 1200 px

These sizes are our recommendations. The upload size stays sharp on high-density screens, and the smallest size stays sharp on a standard screen. Two rows have an alternative shape: a hero set to Large or Full screen height fits a 1600 × 2000 px (4:5) mobile image better, and portrait product photos work at 1600 × 2000 px (4:5) when the whole catalog uses that shape.

Going bigger does not help. Horizon never requests an image wider than 3840 px, or wider than 1600 px for the mobile hero image, so a larger file only takes longer to upload.

For any other image, size it by its longest edge. An image that spans the full width of the page needs 1920 px at least and gains nothing past 3840 px. An image that fills half the page or less, such as one beside a block of text, is covered by 2048 px. Then give it whatever shape the layout calls for.

The numbers in this article come from the Horizon 4.3.0 theme code. We tested the crops, the mobile image, and the focal point with a marked test image in a Horizon 4.3.0 store, checked the image widths on a live product page, and tested how Shopify handles an image that is too small.

Why the hero crops your image

Horizon has no fixed banner size. The hero crops your image to fit a box whose shape changes with the screen and with the Height setting, so the size matters less than where the subject sits in the frame and where you set the image's focal point.

The Horizon hero stretches the image to cover the whole section and trims whatever does not fit. The section's minimum height comes from the Height setting, and each option means something different on each screen size:

Height Phone (under 640 px wide) Tablet (640–959 px) Desktop (960 px and wider)
Small 240 px 40% of the screen height 50% of the screen height
Medium (default) 400 px 55% 65%
Large 560 px 70% 80%
Full screen 100% of the screen height
Custom The percentage of the screen height you choose

These are minimums. A hero with a lot of text grows taller than its setting. When the hero is the first section on the page, Horizon also subtracts the height of the header and the announcement bar, so the box ends up shorter and wider than the table suggests.

The result is a box that is wide on a computer and only a little wider than tall on a phone. In our test store, with the hero first on the page and set to Medium, the desktop box showed about four fifths of the height of a 2:1 image. The phone box was about 1.2:1 and showed the middle 60% of the width.

A marked 2:1 test image in a Shopify Horizon hero at Medium height: on desktop the top and bottom are trimmed, on a phone the sides are trimmed, and a separate 4:5 mobile image keeps its full width but loses some height.

Top: the 2:1 test image on desktop. Bottom left: the same image on a phone. Bottom right: a separate 4:5 mobile image on the same phone. The orange band marks the outer 10% of each image.

The taller settings trim less from the top and bottom, and Full screen starts to trim the sides on a computer. No single size avoids the trim, because the box changes with every screen.

Set a focal point

By default the trim is centered, so the middle of the image stays and the edges go. A focal point changes which part stays. Open the image in Content > Files, in the theme editor's image picker, or in a product's media, click the part that must stay visible, and save. Shopify's image documentation lists every place you can set one. An image has one focal point, and it applies everywhere the image is used.

Shopify applies the focal point automatically to images that a theme outputs with its standard image tag. Horizon outputs hero and slideshow images this way, and its product gallery reads the focal point as well. In our test, a focal point in the top-left corner of the hero image moved the crop up on desktop and to the left on a phone.

The same Shopify Horizon hero on a phone before and after setting a focal point in the top-left corner: the crop moves left so the left edge of the image comes into view.

Left: no focal point, so the phone keeps the middle of the image. Right: a focal point in the top-left corner shifts the crop to the left.

A focal point decides what survives the trim. It cannot bring back content that does not fit, so keep faces, products, and any text away from the edges of the image.

Only one combination shows the whole image with no crop: set Height to Auto and remove every block from the hero. The section then takes the shape of the image itself. This works for a banner that already contains its own text, but text inside an image cannot be read by search engines or screen readers, and it shrinks on phones.

Use a separate mobile image

Without a mobile image, Horizon shows the desktop image on phones and crops it to the phone-shaped box. In our test at Medium height, a 2:1 image kept about the middle 60% of its width, so anything near the left or right edge disappeared.

In the hero settings, turn on Show different media on mobile and add a second image. Horizon shows it on screens narrower than 750 px and requests it at up to 1600 px wide. Match its shape to the height you use. At Small or Medium the phone box is close to square, so a square image fits: our 4:5 test image lost about a third of its height there. At Large or Full screen the box is taller, and a 4:5 image fits better.

Shopify Horizon hero settings with Show different media on mobile turned on and a separate image selected under Mobile media 1.

The hero can also show two images side by side. Each one then fills half the width, and Stack media places them one above the other on phones.

Slideshow slides

The Slideshow section sets its height in a different way from the hero. Its Media height setting uses fixed minimum heights that do not follow the screen height:

Media height Under 750 px wide 750 px and wider
Small 280 px 420 px
Medium (default) 340 px 560 px
Large 400 px 720 px

At Medium, a full-width slide is about 2.6:1 in a 1440 px wide window and close to square on a phone. Slide images are trimmed the same way as the hero.

A slide has one image field and no mobile image, so a single file has to work for both shapes. Use a 2:1 image, keep the subject inside the middle half of its width, and set a focal point on it. If you need different content on phones, our Horizon block for showing content on mobile or desktop only covers one way to do it.

Product images

Shopify accepts product images up to 5000 × 5000 px, or 25 megapixels, and under 20 MB. Its product media documentation says that 2048 × 2048 px usually displays best for square images.

In Horizon, the product page and the collection page each have their own Aspect ratio setting, and the options do not all match:

Aspect ratio Product page gallery Product cards
Auto Each image keeps its own shape (default) Follows the product's first image
Portrait 4:5 4:5 (default)
Square 1:1 1:1
Landscape 2:1 16:9

Portrait and Square mean the same thing in both places. Landscape does not, so a landscape image that fits the gallery is trimmed on the cards. For a new catalog, shoot or export everything at 4:5 or 1:1 and set both to the same option.

On a desktop product page with Horizon's default layout, the gallery takes the full window apart from a 400 px column for the product details. That is about 1,000 px on a laptop and twice that in device pixels on a high-density screen, so a 2048 px image covers it. Enable zoom is on by default, and the zoom view loads the image at up to 3840 px wide, so a larger original shows more detail when a shopper zooms in.

Shopify Horizon Product media settings with the Aspect ratio menu open on Auto, Portrait, Square, and Landscape, and Enable zoom turned on.

Image shape is a separate question from which image a variant shows. If the gallery does not switch when a shopper picks a color, see why a variant image does not change.

When the image is too small or too large

Horizon lists several widths for every image and lets the browser pick one that suits the screen. For a desktop hero the list is 832, 1200, 1600, 1920, 2560, and 3840 px. For a mobile hero image it is 416, 600, 800, 1200, and 1600 px. Product images add 240, 352, and 640 px for small placements.

Too small. Shopify does not enlarge images. We requested a 1254 × 1254 px product image at 3840 px wide, and Shopify returned it at 1254 × 1254 px. The browser then stretches it to fill the space, which looks soft on a large or high-density screen. This is why a 1200 px wide banner looks blurry on a desktop monitor.

Too large. Nothing breaks, because visitors do not download your original. They receive a copy resized to the width their screen needs, and a smaller copy is a lighter file: the 832 px version of that product image was 30 KB, less than half the weight of the full-size file. A phone never receives your 3840 px upload. The cost of an oversized original is on your side, as a slower upload. Past 3840 px wide there is no visible gain in the hero, the slideshow, or the product gallery.

Get Shopify help _

Hero image cropped or blurry?

We'll fix how your images display.

$49 USD

ONE IMAGE DISPLAY FIX ·FIXED OR REFUNDED

Fix my store images