How to Fix Images Not Showing on Websites on Mac
Fix missing website images on a Mac by isolating the browser, site, network, extension, privacy, and cache causes.
When images do not appear on a Mac, first identify the scope: one website or many, one browser or every browser, and one Mac or every device on the same network. Then test a private browser window, disable extensions and content blockers, remove only the affected site’s stored data, and check VPN, proxy, DNS, JavaScript, cookie, and security settings.
Use this order because it separates a website problem from a Safari, Chrome, macOS, or network problem. Apple recommends comparing browsers and devices; Google recommends the same isolation approach for Chrome loading errors. Apple’s Safari troubleshooting guide and Google’s Chrome guide are the primary references.
1. Establish what is failing
- Reload the page with Command-R. Check whether images are missing, replaced by broken-image icons, or still loading.
- Open another page on the same website. If only one page fails, the page itself may contain a broken image URL or script.
- Open the affected URL in another browser. Compare Safari with Chrome or another installed browser.
- Use another device on the same Wi-Fi network. If the same site fails across devices and browsers, the website or network is the likely source.
- Try a different network, such as a phone hotspot. If images work there, investigate Wi-Fi, DNS, VPN, proxy, firewall, or filtering software.
| Result | Most likely area | Next action |
|---|---|---|
| One site fails in every browser | Website or network | Try another network, then contact the site owner |
| Several sites fail in one browser | Extension, cache, browser setting, or browser update | Use Private/Incognito mode and isolate extensions |
| Images fail in every browser on this Mac | Network, VPN, DNS, security software, or macOS | Check connectivity and filtering settings |
| Only normal windows fail | Stored site data or an extension | Compare with Private/Incognito mode |
| Only one image fails | Broken asset, permissions, or server response | Check another page and report the URL to the site owner |
2. Fix images in Safari
Test a Private Window
Choose File > New Private Window, or press Shift-Command-N, and open the same page. If images appear in the Private Window, the normal Safari profile is contributing to the problem. Common causes are an extension, content blocker, or stale website data.
Disable extensions and content blockers
- Open Safari > Settings > Extensions.
- Turn extensions off temporarily and reload the page.
- If the images return, enable extensions one at a time until the failure returns.
- Update or remove the extension that changes the result.
For a site-specific content blocker, use Safari’s website controls in the address bar and temporarily turn the blocker off for that domain. Restore it after the test if it is not the cause.
Remove only the affected site’s data
- Open Safari > Settings > Privacy.
- Choose Manage Website Data.
- Search for the affected domain and remove its entry.
- Close the settings window, reopen the page, and sign in again if required.
Removing site data can sign you out and delete site preferences. Confirm that you know the account credentials before doing it. Removing one domain is less disruptive than clearing all browsing data.
Check Safari site settings
In Safari > Settings, review Websites, Privacy, Security, and Advanced. A site may need JavaScript for image galleries or lazy-loaded images. Check whether a content blocker, strict cookie behavior, or another privacy control is preventing image requests. Apple notes that some sites may require allowing cross-site tracking or showing the user’s IP address; use those as temporary compatibility diagnostics rather than permanent changes.
Test iCloud Private Relay, VPN, proxy, and DNS
If iCloud Private Relay is enabled, reload the page with Reload and Show IP Address when Safari offers that option. If the image loads only when the IP address is shown, Private Relay or the site’s network policy may be involved. Temporarily disconnect a VPN and retry. Also inspect custom proxy and DNS settings, and pause network-monitoring or security software for a controlled test.
Update macOS and restart Safari
Updating macOS updates Safari. Install available system updates, quit Safari completely, reopen it, and retry. If the issue started after an extension or security-tool update, update that software as well.
3. Fix images in Chrome
Try Incognito
Choose File > New Incognito Window or press Command-Shift-N. Open the affected URL. If images work in Incognito, an extension or stored browsing data is the leading suspect.
Isolate extensions
- Open Window > Extensions, or visit
chrome://extensions. - Turn every extension off and reload the page.
- Re-enable extensions one at a time.
- Keep the extension that causes the failure disabled, then update or remove it.
Clear the affected site’s data
Open Chrome Settings, search for site data, find the affected domain, and remove its stored data. Reload and sign in again if needed. If you clear all browsing data, select a suitable time range and understand that cookies, cached files, and saved site state may be removed.
Check connectivity, security software, and memory
Verify Wi-Fi or Ethernet, restart the router or modem if other sites also fail, and check whether firewall or antivirus software is blocking Chrome. Close unused tabs and applications if the Mac is low on memory. Update Chrome, quit it, and reopen it from the Applications folder or Dock. If the problem continues, Chrome’s reset-settings option can restore defaults while preserving essential personal data; review what will change before confirming.
4. Check network and macOS causes
- Use a second network: A hotspot test distinguishes local network filtering from a site or browser fault.
- Disable VPN temporarily: Some sites deliver assets differently by IP address or region.
- Inspect custom DNS: Filtering DNS services can block image hosts, CDNs, or tracking-dependent resources.
- Review proxies: A stale HTTP or HTTPS proxy can allow the HTML page while blocking image requests.
- Check security tools: Network monitors, antivirus web shields, and parental controls can block subdomains used for images.
- Check date and time: An incorrect system clock can make HTTPS image requests fail certificate validation.
5. Understand common symptoms
| Symptom | Likely cause | Fix |
|---|---|---|
| Broken-image icon | Image URL returns an error or is blocked | Try another browser and network; report the URL if it fails everywhere |
| Blank space where an image should be | JavaScript, lazy loading, or a content blocker | Enable JavaScript for the site and disable blockers temporarily |
| Images spin forever | Network timeout, blocked CDN, VPN, or overloaded server | Try a hotspot, disable VPN, and retry later |
| Only thumbnails load | Full-size image host or script is blocked | Inspect extensions, privacy settings, and the image host domain |
| Images appear after refresh | Transient server or connection failure | Reload, restart the browser, and check the site status or owner |
6. When the website owner must fix it
If several browsers and devices on the same network show the same missing images, the website is probably responsible. Broken asset paths, expired certificates, a failed CDN, incorrect permissions, bot protection, or server errors can all produce this pattern. Send the owner the page URL, affected image URL if visible, browser and macOS versions, time of failure, and whether another network changes the result.
Safari 26 or later may show Report a Website Issue after you reload. Apple says Safari 26 is included with the latest updates for macOS Sequoia 15 or later; check the version installed on the Mac before relying on that menu.
7. Capture a page without depending on the local browser
If your goal is to archive, monitor, document, or render a page rather than diagnose the Mac itself, ScreenshotNeo can fetch the page from its screenshot API. It returns PNG, JPEG, WebP, or PDF from one GET request and includes controls for full-page capture, lazy images, custom CSS and JavaScript, waiting, blocking, cookies, headers, user agents, geolocation, caching, and more.
Or skip the browser setup
ScreenshotNeo removes cookie and consent banners, newsletter popups, and chat widgets before capture. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed, and response headers identify the page verdict and billing status. Its MCP server lets Claude, Cursor, and other MCP clients call take_screenshot, get_page_info, and capture_pdf.
See the ScreenshotNeo documentation for all options. The following examples use the required API endpoint and return a WebP response.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
You get 1,000 screenshots a month free with no card. Paid plans start at $5 for 3,000 shots, and every feature is available on every plan. Create a free ScreenshotNeo account.
8. Performance, reliability, and cost notes
- Browser troubleshooting: Private and Incognito tests are fast and reversible. Clearing all data, resetting Chrome, or changing network settings has wider effects, so isolate the smallest change first.
- Dynamic pages: Images loaded by JavaScript may need JavaScript enabled, a selector wait, a delay, or network-idle waiting before capture.
- Lazy images: A viewport screenshot may omit below-the-fold assets. Use full-page capture when documenting the complete page.
- Repeat captures: A chosen cache TTL can reduce repeated fetch work. Cache hits are not billed by ScreenshotNeo.
- Failure handling: Record HTTP status, response headers, target URL, and timestamp. ScreenshotNeo’s
X-Page-VerdictandX-Billedheaders indicate whether a response was a clean, billable capture. - Cost control: Start with the free 1,000-shot allowance, cache stable pages, and use bulk capture for up to 100 URLs per call when processing a list.
9. Troubleshooting checklist
- Does the failure affect one site or many?
- Does another browser show the same result?
- Does Private or Incognito mode work?
- Did disabling extensions or content blockers help?
- Did removing only the affected site’s data help?
- Is JavaScript enabled for the site?
- Does a hotspot or other network fix it?
- Are VPN, proxy, DNS, firewall, antivirus, or parental controls involved?
- Are macOS and the browser current?
- Does the site fail on other devices too?
FAQ
Why do images load in Incognito but not Chrome normally?
An extension or stored site data is changing normal browsing. Disable extensions individually, then remove the affected domain’s data.
Should I clear all Safari history?
No. Remove the affected site’s website data first. Clear everything only when narrower tests do not identify the cause.
Can a VPN stop images while the page still loads?
Yes. The HTML and image files may come from different hosts or policies. Disconnect the VPN briefly and compare.
Why do images fail on every device at home?
The website or home network is likely involved. Test a different network to separate those causes.
Can ScreenshotNeo repair a broken website?
No. It can provide a server-side capture and diagnostics when your local browser is the problem; it cannot repair missing assets or server errors on the target site.


