7 Common image issues in Magento 2 and How to fix Them

Images are the backbone of your Magento 2 store’s visual appeal. They help customers connect with your products, build trust, and play a huge role in buying decisions. Broken, slow-loading, faded, or painfully slow-loading images can make even the most premium product look unappealing. As a result, your sales and brand credibility will suffer.


Magento 2 gives merchants powerful tools to manage images, but it’s not immune to glitches. Image issues can creep in after migrations, theme updates, or even a simple product import.


In this article, we’ll go through 7 common image issues in Magento 2, explain what they look like, why they happen, and how you can practically fix them. We’ll also show you how modern formats like WebP can help speed up your store and improve user experience.


1. Images not displaying on the storefront

As mentioned above, a storefront cannot function without images. Product listings look incomplete, with placeholder icons instead of product images. Images not showing causes:

  • Category pages feel empty, hurting the browsing experience.
  • Customers might think the products are out of stock or unavailable because they can’t see them.
  • If it affects many products, it can make your entire store look “unfinished” or poorly maintained.

Consequently, customers will abandon your store and you will lose potential sales. A decent first touchpoint will impact the rest of the customer journey.


Why it happens

Here are the possible reasons:

  • Cache and static files: Magento stores “static” versions of images for faster display. If these are outdated or corrupted, the images may not show.
  • Folder permissions: Your store’s image folders may not be accessible to the website due to restrictive server settings.
  • .htaccess blocking: This small server file can block direct access to images if misconfigured.
  • Migration leftovers: Moving your store from one server to another may leave old paths or missing files.

How to fix it

  • Refresh Magento’s cache from the admin: Go to System → Cache Management → Flush Magento Cache.
  • Open a few product pages in a private/incognito browser window to check if the issue is browser cache-related.
  • Re-upload the images if they were manually deleted or misplaced. See if it displays, i it does, you might need to re-upload the rest.
  • If the issue started after migration, check with your hosting provider to make sure the image folders have the right access settings.
  • Also, when adding new products, always preview the front end to confirm images appear before pushing changes live.

2. Image loading takes too long (performance issue)

Another issue you might encounter is that the product images on listing pages or in product pages are taking too long to load. And surely, if it takes too much time to load, customers will feel impatient and decide to leave the page, causing you to lose potential buyers.


A slow image load doesn’t just irritate shoppers, it directly affects SEO rankings. Google uses Core Web Vitals metrics to decide, and large, unoptimized images are a frequent reason for failing these scores.


Some of the symptoms you might be able to notice:


  • Images on the page display as a blank space or with a loading sign
  • Tools like Google PageSpeed Insights flag warnings such as “Serve images in next-gen formats” or “Defer offscreen images”

Why it happens:


- Heavy, outdated image formats:

  • Many Magento 2 stores still use JPEG, PNG, or GIF for all product images. While these formats are common, they’re much heavier compared to modern formats like WebP.
  • Dozens of such large JPEGs lead to page weight skyrocketing, causing the page to load more slowly and taking longer for the image to fully render.

- Uncompressed files: Images straight from a camera or design software may not be optimized for web delivery. Even a small level of compression can cut file sizes significantly without any visible degradation.


- Too many images per page: Magento category pages often show 20–60 products, each with multiple thumbnails. Without optimization, that’s potentially tens of megabytes to load before the page feels complete.


- No lazy loading: Without lazy loading, the browser tries to load all images on a page immediately, even those way below the fold that users might never see. This delays the time until visible content is ready.


How to fix

You don’t need to be a developer to solve slow image loading in Magento 2, as most fixes can be implemented with the right tools and some process changes.


a. Convert images to WebP format

Switching from traditional formats (JPEG, PNG) to WebP can reduce file sizes by up to 50–70% while keeping quality high.

One of the easiest ways to implement this is with the Magento 2 WebP Images extension from BSS Commerce - The trusted Magento 2 Extension Provider.

This extension:

  • Automatically converts all your existing JPG, PNG, and JPEG images into WebP format.
  • Lets you apply WebP selectively, for example, only on product detail pages or category listings, so you can roll it out gradually.
  • Keeps compatibility with older browsers that don’t support WebP by serving fallback formats.
  • Works seamlessly with Magento’s image cache system, so you’re not manually replacing files.

b. Enable lazy loading

Lazy loading means images load only when they’re about to appear on the screen. This significantly reduces the initial page load time. By default, Magento 2 doesn’t enable lazy loading for all image contexts. So you can use a third-party extension to do this for you. We suggest the Magento 2 Lazy Load extension from BSS Commerce, and it’s completely free.


. Compress images before uploading

Compression removes unnecessary data from images, making them lighter without visible quality loss.

  • Easy approach: Use free tools like TinyPNG, Squoosh, or Photoshop’s “Save for Web” option before uploading.
  • Best practice: Aim for under 200 KB for main product images and under 70 KB for thumbnails.

Actually, this solution is heavily manual, so it’s still more practical to use a Magento WebP Images extension to automatically convert and compress all images quickly.


d. Reduce the number of images per page (if necessary)

If your category pages feel sluggish even after optimization, consider:

  • Reducing products per page in pagination settings.
  • Combining product gallery images into a single composite image (for certain marketing layouts).
  • Using placeholders or blurred preview images that load instantly before the high-res version appears.

Check out the Ultimate guide to Magento checkout optimization: Speed, flow & user experience.


3. Main product image missing, only thumbnail shows

For this issue, you might see that on the product detail page, the gallery or small thumbnail shows, but the main large image space is blank. And customers can’t zoom in for details. This leads to the customer not being able to see clearly the product's appearance or its components. Therefore, they cannot decide if this is the right product for them.


Why it happens

There are some possible reasons for this:

  • Magento allows multiple images per product, but only one can be set as the “Base Image.” If none are assigned, the main slot stays empty.
  • Theme customizations may be coded to look for a specific image size or role.
  • Old cached versions of the product page may be blocking the updated image.


How to fix

  • Edit the product in Catalog → Products and ensure one image is marked as Base Image.
  • If using a custom theme, switch briefly to the default Luma theme to see if the image appears. If it does, the issue is theme-specific.
  • From the admin panel, clear product image cache under System → Cache Management.
  • Tip: When uploading images, assign all three roles: Base, Small, and Thumbnail. This ensures it shows across all parts of the store.

4. Images in cart or search results missing

If this issue occurs, product images show fine on detail pages but disappear in the shopping cart or search results. Customers may not recognize the product in their cart without the image, which can lead to abandoned orders. Also, customers may forget which item they added without a visual reminder.


Why it happens

Magento uses different “roles” for images (Base, Small, Thumbnail). If these roles aren’t set correctly, certain pages won’t show images. If the product's main image isn’t selected as a Thumbnail, the product image on the cart and search results will be missing.


Another reason is that the store’s image cache for cart or search views hasn’t been refreshed.


How to fix

  • In each product’s image settings, ensure one image is assigned to Base, Small, and Thumbnail roles, especially the last one.
  • Flush the cache: Go to System → Cache Management → Flush Images Cache to regenerate missing display sizes.

5. Images broken in configurable products

If Parent products or some variations display broken images, especially when switching colors or sizes, you are facing broken configurable product images. Or, on the category page, products appear without images until a variant is selected.


Why it happens

  • If variation changes but the image doesn’t update: Child product has no Base Image role assigned.
  • If the category page shows a placeholder instead of a product image: Small Image role missing on parent products, as Magento needs this role for category thumbnails and lists.
  • If swatch icons are blurry or broken, this might be the Swatch Image role missing or in the wrong size.


Solutions

  • Always assign a base image to each variation: Even if multiple variations share the same photo, assign the Base Image role so Magento knows what to display.
  • Check if “Use Parent Image” is enabled where needed in Stores → Configuration → Catalog → Configurable Product Options.
  • Check Swatch settings: Make sure each swatch has its Swatch Image role assigned. Keep these images small and optimized for faster loading.

6. Images not showing after moving servers

After switching to a new host or upgrading Magento, images disappear on both frontend and admin previews. The admin product preview also shows placeholders instead of the uploaded images.


The issue affects every browser and device, confirming it’s not just a cache problem. The problem is consistent across all browsers and devices.


Possible reasons

  • Incomplete file transfer: The pub/media folder, which stores all your uploaded images, wasn’t fully copied over. If even one product image folder is missing, Magento defaults to showing a placeholder.
  • Folder permissions mismatch: Your old server might have had different permission settings. On the new server, if the pub/media folder isn’t readable, Magento simply can’t serve those files to visitors.
  • CDN or cache is still pointing to old URLs: If you use a Content Delivery Network (CDN) or external caching service, it may still be trying to fetch images from your old server’s domain or IP, leading to broken links.
  • Wrong base URLs in configuration: Sometimes during migration, Magento’s Base URL settings (in Stores > Configuration > Web) don’t update correctly, meaning the site is still looking for images on the old domain.


How to fix

  • Ask your host to confirm that all image folders (especially pub/media) were fully transferred.
  • Rename the .htaccess file inside the pub/media folder to temporarily rule out blocking rules.
  • If using a CDN, double-check that the new server is correctly pointing to the right image URLs.
  • Before migrating, create a backup of the entire media folder and test the new site in a staging environment first.

7. Washed-out or color-changed images after upload

Photos look dull, faded, or different in tone compared to the originals. Color-sensitive products (like clothing or artwork) appear inaccurate to customers.


Why It happens

  • Automatic image compression may alter colors slightly.
  • Some formats (like CMYK for printing) aren’t ideal for the web and may shift colors in browsers.
  • The site’s optimization settings might strip certain color data.

How to Fix It

  • Save images in sRGB color profile before uploading—this is the most web-friendly format.
  • Upload PNG files for graphics and images where exact color accuracy matters.
  • If possible, disable server-side image optimization in Stores → Configuration → Advanced → System.


Ongoing maintenance to keep your Magento 2 images healthy

Fixing image issues is important, but preventing them is even better. Here are a few best practices to keep your store’s visuals sharp and reliable:

  • Audit images regularly: Every few months, browse your store on both desktop and mobile to check for missing or slow images.
  • Optimize before upload: Always resize and compress images before adding them to Magento.
  • Use consistent naming: Clear, descriptive filenames help with SEO and make it easier to track files.
  • Test after updates: Theme or extension updates can change how images are handled and test key product pages afterward.
  • Invest in modern formats: Using webp format from the start ensures your site stays fast as your catalog grows.

For more Magento solutions to optimize images, refer to Top 5 Magento extensions for image optimization.


Final Thoughts

Image issues in Magento 2 are frustrating, but they don’t have to derail your sales or your store’s appearance. By understanding the symptoms, recognizing the root causes, and taking simple, preventive steps, you can keep your site’s visuals looking great and loading quickly.


If you want one of the most effective, low-effort fixes for both performance and user experience, switching to WebP is a clear winner. With the Magento 2 WebP Images extension from BSS Commerce, you can automate the process, reduce file sizes, and give customers the fast, engaging shopping experience they expect.