Back to Blog
How-To Guide

Images Not Loading on Your Website? 9 Causes and Fixes

September 30, 20268 min read

Images stop loading on a website for one of two reasons: something on the visitor's side is blocking them (an extension, cache, or browser setting), or the image is actually broken on the site (a wrong file path, a file that was never uploaded, an insecure http:// link, or a format the browser can't display). The fastest way to tell them apart: open the page on a different device or network. If images load there, it's your browser. If they're broken everywhere, it's the website, and the causes below will help you fix it.

Quick answer

  • Only broken for you? Hard-refresh (Ctrl+Shift+R / Cmd+Shift+R), disable ad blockers and extensions, or try another browser.
  • Broken for everyone? Open DevTools → Network → filter "Img". Red 404s mean wrong paths or missing files, 403s mean permissions or hotlink protection.
  • Broken only in some browsers? Likely an unsupported format (HEIC, AVIF, WebP on old Safari).
  • Broken after a migration or redesign? Files weren't moved, or links still point to the old domain or staging site.

If images aren't loading only for you

Try these quick fixes in order. If none work and images still fail on other devices too, skip to the site-owner causes below.

Hard refresh the page

Ctrl+Shift+R on Windows or Cmd+Shift+R on Mac reloads the page without cache. On a phone, close the tab and reopen it, or clear the browser's cache.

Disable ad blockers and extensions

Ad and privacy blockers hide images whose URLs look like ads (paths containing "ad", "banner", or "sponsor"). Try a private window, where most extensions are off.

Check image settings

Chrome (Settings → Privacy and security → Site settings → Images) and Firefox can be set to block images, globally or for one site. Data-saver modes and some antivirus web shields can also strip images.

Try another browser or network

If images load on mobile data but not on your Wi-Fi, a network filter or DNS setting is blocking the image server, which is common on office and school networks.

If images are broken for everyone: the 9 causes

1

The file path is wrong

Most common
A typo, a moved folder, or a relative path that breaks on sub-pages (images/photo.jpg works on the homepage but not at /blog/post/) all produce a 404. Most web servers are also case-sensitive: Photo.JPG and photo.jpg are different files. Right-click the broken image → "Open image in new tab" to see the exact URL the browser requested.
2

The file was never uploaded (or was lost in a migration)

Images that worked on staging or on the old site often 404 in production because the files were never copied over, or because links still point to the old domain or staging URL. This is the single most common cause after a redesign, host move, or platform switch.
3

Mixed content: http:// images on an https:// site

Browsers upgrade or block insecure http:// images on secure pages. If the image server doesn't support https, the image silently fails. Search your pages and database for "http://" image links and change them to https://.
4

Unsupported image format

HEIC photos (the iPhone default) don't display in Chrome or Firefox. AVIF and WebP don't work on older iPhones and Macs that can't update Safari. If images fail only in certain browsers, convert to JPEG or PNG, or serve modern formats with a fallback using the <picture> element.
5

Permissions or hotlink protection (403 Forbidden)

A 403 means the server refused to send the file, because of file permissions set too strictly or hotlink protection that blocks images from being displayed on other domains. Check the folder permissions on your host and your CDN or host's hotlink settings, especially if you recently changed domains.
6

Lazy loading that never triggers

JavaScript lazy-loading libraries swap in the real image (from a data-src attribute) when you scroll to it. If that script fails or conflicts with another plugin, images stay blank forever. Native lazy loading (loading="lazy") is safer. If you use a lazy-load plugin, disable it temporarily to test.
7

External image links have expired

Images hotlinked from another site, an old CDN, or expiring signed URLs (from cloud storage) break when the source moves or the link expires. Host important images yourself or on a CDN you control.
8

A security policy is blocking the image source

A Content Security Policy (CSP) header with an img-src rule blocks images from any domain not on its list. The browser console shows a clear "Refused to load the image" error. Add the image's domain to img-src.
9

Images are too large and time out

Multi-megabyte images can fail or appear half-loaded on slow mobile connections. Resize images to the size they're displayed at, compress them, and use a CDN. It fixes loading failures and speeds up the whole page.

How to find every broken image on your site

Checking pages one by one works for a single page. For a whole site, you need a tool, and the type of tool matters. An SEO crawler reads your HTML and flags image URLs that return 404, but it doesn't render the page, so it misses images injected by JavaScript, lazy-loaded images that never appear, and images that only fail on certain screen sizes.

Find them automatically: BugSense loads your pages in a real browser at mobile, tablet, and desktop sizes, records every failed image request, and flags blank or broken image slots customers actually see. Run a free scan. No account needed.

Frequently asked questions

Why are images on websites not loading?

If only you are affected, it's usually cache, an ad blocker or extension, a browser image setting, or your network. If everyone is affected, the site has a broken image path, a missing file, insecure http:// image links, an unsupported format, or a server permission problem.

Why are my pictures not showing up on my website?

The most common causes are a wrong file path or file name case, files that were never uploaded after a migration, http:// links on an https:// site, HEIC or other unsupported formats, and lazy-loading scripts that fail. Right-click the image and open it in a new tab to see the exact error.

How do I get images to load on a website?

Hard-refresh the page, disable extensions, and try a private window or another browser. If you own the site, use the browser's Network tab to find the failing image requests and fix the path, format, or permissions.

Why are images not loading in Safari but loading in Chrome?

Usually an image format older Safari versions can't display (such as AVIF, or WebP on very old devices), or a Safari privacy feature blocking an image served from a third-party domain. Serve JPEG or PNG fallbacks and host images on your own domain or CDN.

Why are some images not loading on my iPhone?

Check Low Data Mode, content blockers in Settings → Safari → Extensions, and whether the site uses a format your iOS version doesn't support. If images fail on every iPhone, the site itself needs fixing.

Find every broken image on your site

Scan your site free on mobile, tablet, and desktop →