PrestaShop Images Not Displaying: Easy Fixes for 8 Common Causes

When PrestaShop images not displaying on product pages, categories, or the home page, shoppers see broken icons instead of your catalog. The files are usually still on the server – PrestaShop just cannot serve the right path, size, or rewrite rule. This guide walks through how images are stored, eight common causes, and the fixes that clear most cases without a full reinstall.

PrestaShop images not displaying - product thumbnails missing on the storefront

PrestaShop keeps originals and generated sizes under the shop root /img/ folder. Knowing which directory holds which assets saves time when you are hunting a missing file:

  • /img/p/ – product images. Uploads are split into nested folders (for example /img/p/1/2/12.jpg for product ID 12). PrestaShop also builds thumbnail variants for listing grids, carts, and the product page.
  • /img/c/ – category images, with their own thumbnail sizes.
  • /img/cms/ – images used in CMS pages. These usually skip the product-style thumbnail pipeline, so regenerating product thumbnails will not repair a broken CMS media path.

If the storefront URL for an image 404s while the file exists on disk, look at permissions, .htaccess / Nginx rewrites, and thumbnail types before you re-upload every photo. Friendly URL problems often sit next to image path failures – see solving PrestaShop SEO URL rewriting problems when product links and media URLs break together.

Common causes when PrestaShop images not displaying

  1. Wrong file permissions – the web server cannot read files under /img/.
  2. Broken or incomplete .htaccess – especially after a move, HTTPS switch, or manual edit.
  3. Image type settings – missing or zero-size formats in Design → Image Settings.
  4. Interrupted thumbnail regeneration – some sizes never finished writing.
  5. Image-related modules – lazy load, CDN, watermark, or optimizer modules failing.
  6. Stale cache – PrestaShop cache, a cache module, or the browser still serving old URLs.
  7. Post-upgrade gaps – theme or core update expects new image types that were never generated.
  8. Nginx rewrite gaps – Apache-style rules from PrestaShop do not apply; image routes need server config.

Mixed content after forcing HTTPS is another frequent culprit: the page loads over https:// while image tags still point at http://, so modern browsers block them. Confirm shop and media URLs use HTTPS in Shop Parameters → Traffic & SEO (and in any CDN module).

PrestaShop Design Image Settings where you regenerate thumbnails

How to fix PrestaShop images not displaying

  1. Fix permissions on /img/ – via FTP or the host file manager, directories are usually 755 and files 644. Try 775 / 664 only if your host requires group write. Avoid 777 / 666 except as a short test, then lock permissions back down.
  2. Regenerate .htaccess – in the Back Office open Shop Parameters → Traffic & SEO (SEO & URLs on older versions), save Friendly URL settings so PrestaShop rewrites the root .htaccess. Then re-check a product image URL in a private browser window.
  3. Review image types and regenerate thumbnails – go to Design → Image Settings. Confirm each format used by your theme has sensible width/height. Run Regenerate thumbnails. This step alone fixes a large share of “broken thumbnail” cases.
  4. Resume a stuck regeneration – if the progress bar stopped mid-run, submit the form again with Erase previous images unchecked so PrestaShop continues instead of wiping finished sizes and starting from zero.
  5. Isolate image modules – disable recent lazy-load, WebP, CDN, or watermark modules, clear cache, and retest. Re-enable one at a time to find the offender.
  6. Clear caches – Advanced Parameters → Performance → clear cache. Flush any cache/CDN module. Hard-refresh or clear the browser cache so you are not looking at an old broken URL.
  7. After an upgrade – clear cache, regenerate thumbnails, and confirm the active theme’s required image types still exist in Image Settings. A theme update that adds a new format will show empty slots until that type is generated.
  8. Nginx – PrestaShop cannot write Nginx config for you. Ask the host (or your sysadmin) to map image and legacy rewrite rules correctly; compare against a known-good PrestaShop Nginx snippet for your major version.

If the Back Office itself whitescreens while you work through these steps, treat that as a separate PHP/error-log problem first – start with the white screen of death troubleshooting guide, then return to image regeneration.

Still empty after permissions, rewrites, regeneration, modules, and cache? Restore /img/ (and matching database image rows if needed) from a known-good backup. Re-uploading hundreds of products by hand is slower and easy to mismatch against combination images.

Keep images working after the fix

  1. Back up regularly – include the full /img/ tree and the database, not only PHP files.
  2. Test on staging – try theme switches, image optimizer modules, and major upgrades on a copy before the live shop.
  3. Spot-check after big changes – after each upgrade or CDN change, open one category listing and one product page on mobile and desktop and confirm thumbnails and zoom images load.

Most “PrestaShop images not displaying” tickets end with readable /img/ permissions, a fresh .htaccess (or correct Nginx map), and a completed thumbnail regeneration with erase disabled on retry. Work those three before you rebuild the catalog.

Leave a Reply

Your email address will not be published. Required fields are marked *