Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

When an image will not load, do not start by changing CSS at random. Open your browser’s developer tools, reload the page, and inspect the image request in the Network panel and the matching Console message. The evidence usually identifies one of these causes: an empty or incorrect URL, a missing or invalid file, a blocked cross-origin request, a Content Security Policy (CSP) or mixed-content restriction, or lazy loading that has not triggered.

This guide starts with quick checks for nontechnical site owners, then shows a developer-level diagnosis for HTML, responsive images, headers, policies and lazy loading.

Quick checks before changing code

  1. Reload and check the address. Right-click the broken image, choose to open it in a new tab, and confirm the address is the file you intended to publish. Check spelling, capitalization, folders and the file extension.
  2. Try another browser or a private window. This can reveal a stale cache, extension, login or local service-worker problem. It does not replace checking the actual request.
  3. Scroll to the image. An image marked loading="lazy" may intentionally wait until it is near the viewport.
  4. Inspect the rendered page. A template may produce different HTML from the source file you edited. Look at the live element and its selected src, srcset or <picture> source.

If these checks do not explain the failure, use the Network and Console workflow below.

Use DevTools to identify the exact failure

  1. Open Chrome, Edge or another Chromium browser’s developer tools with F12 or Ctrl+Shift+I (Windows/Linux) or Cmd+Option+I (macOS).
  2. Select Network, filter the request list to Img (or type image in the filter), and reload the page while DevTools remains open. DevTools records activity only while it is open.
  3. Select the failed request. Check its full URL, status, type, initiator, response headers and Response/Preview tabs.
  4. Open Console and read the corresponding error. A CORS, CSP, mixed-content or decoding message points to a different fix than a 404.

Use the observed result, not a guess, to choose the next step.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Sale
Seagate 2TB Portable Hard Drive | USB 3.0 (STGX2000400)
  • Easily store and access 2TB to content on the go with the Seagate Portable Drive, a USB external hard drive
  • Designed to work with Windows or Mac computers, this external hard drive makes backup a snap just drag and drop
  • To get set up, connect the portable hard drive to a computer for automatic recognition no software required
  • This USB drive provides plug and play simplicity with the included 18 inch USB 3.0 cable
  • The available storage capacity may vary.
What you see Likely area First corrective action
No image request Rendered markup, JavaScript or lazy-load trigger Confirm a nonempty selected source is assigned and can be requested.
HTTP error such as 404 Path, deployment, origin or server Correct the URL or publish the file at that exact location.
Request succeeds but preview is invalid Response body, file integrity or format Return image bytes, not an HTML error page, and verify the format.
CORS error Cross-origin request and response headers Configure an appropriate allow-origin response only when cross-origin access is required.
CSP blocked img-src or default-src Allow the intended image origin in the applicable policy.
Mixed-content warning or block HTTP image on an HTTPS page Use an HTTPS asset URL where the origin supports it.
Request appears after scrolling Lazy loading or missing dimensions Check intersection and dimensions; do not defer a critical visible image.

Fix the image URL and rendered HTML

Check src for empty, null or unintended values

An image cannot load if the browser receives an empty source, a null value, a URL pointing to the current page, or a path that differs from the deployed file. Inspect the live DOM, not just a template. Confirm that a relative URL is relative to the page you expect and that capitalization matches the server’s filesystem.

<img src="/images/team-photo.webp" alt="Team standing outside" width="1200" height="800">

Open that exact URL directly. If it does not display, fix the deployment, permissions, redirect or origin before changing page code.

Validate srcset and <picture>

Responsive markup can select a different candidate from the fallback src. In DevTools, inspect the request that was actually made and verify that file exists.

<picture>
  <source media="(min-width: 900px)" srcset="/images/hero-large.webp">
  <img src="/images/hero-small.webp" alt="Product dashboard" width="800" height="500">
</picture>

A valid fallback does not help if the selected source has a typo, was omitted from the deployment, or is served from the wrong origin.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #2
Sale
Aiolo Innovation 500GB External Hard Drive Ultra Slim Portable HDD-USB 3.0 for PC, Mac, Laptop, PS4, Xbox one,Xbox 360 HD-A4
  • Ultra fast data transfers: the external hard drive works with USB 3.0 thickened copper cable to provide super fast transfer speeds. Theoretical read speed is as high as 110MB/s-133MB/s and write speed is as high as 103MB/s.
  • Ultra-thin and quiet: the motherboard adopts a noise-free solution, giving you a quiet working environment. Lightweight and portable size designed to fit in your pocket for easy portability.
  • Compatibility: compatible with PS4/xbox one/Windows/Linux/Mac/Android,Stable and fast downloading on game console no difference from fast transmission when using on PC.
  • Plug and Play: no software to install, just plug it in and the drive is ready to use. The hard drive chip is wrapped with aluminum anti-interference layer to increase heat dissipation and protect data
  • Package Contents: 1* portable hard drive, 1 *USB 3.0 cable, 1*USB to type C adapter,1 *user manual, shell packaging, three-year manufacturer's warranty and free technical support services

Make sure the response is really an image

A server can return status 200 while sending an HTML login page, framework error page or proxy message. Use Network’s Preview and Response tabs and inspect the Content-Type. The body must contain valid image data in a format the browser supports. Corrupt bytes, truncated files and unsupported formats produce a broken image even when the URL looks correct.

Resolve HTTPS, CSP and CORS blocks

Mixed content

If the document loads over HTTPS but the image URL begins with HTTP, the browser may upgrade the request or block it, depending on the request and browser handling. Replace it with the HTTPS version when available. Do not “fix” the warning by weakening the security of the entire page.

Content Security Policy

Read the Console message and the page’s Content-Security-Policy response header. The img-src directive lists permitted image sources. If img-src is absent, default-src can govern images.

Content-Security-Policy: default-src 'self'; img-src 'self' https://images.example.com;

Add only the image origin you operate or intentionally trust. A wildcard policy may hide the symptom while creating a broader security problem.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
Samsung Type-C USB Flash Drive 256GB, USB 3.2 Gen 1, Up to 400MB/s
  • USB-C STORAGE ON THE GO: This sleek drive is supported by Samsung NAND flash and is incredibly compact to fit in the palm of your hand; Count on reliable performance and fast transfer speeds while staying compact
  • PERFORMANCE WITH SPEED: No need to choose between performance and reliability; Experience a fast, powerful flash drive that transfers 4GB files in just 11 seconds with up to 400MB/s USB 3.2 Gen 1 read speeds and is backward compatible with USB 3.0/2.0
  • MODERN MEETS ICONIC: The ultra-sleek USB-C drive looks as good as it performs; Featuring a reversible plug, the Type-C inserts into your devices seamlessly every time; Transfer large files with style and ease
  • ALWAYS CONNECTED: USB-C is compatible across devices, including laptops, tablets, phones and cameras, with enough space for 63,730 photos or maximum 12 hours of 4K video; With up to 256GB of storage space, this pocket-sized thumb drive comes in handy wherever you go
  • TOUGH & TRUSTED: Files stay secure, no matter the terrain; Samsung's flash memory technology makes the Type-C a trustworthy drive to store your valuable data; It's waterproof, shock-proof, magnet-proof, temperature-proof, and X-ray-proof body, plus it's backed by a 5-year limited warranty

Cross-origin requests

CORS is separate from ordinary image display. When markup or script uses crossorigin, the browser makes a CORS request and the image server must return a suitable Access-Control-Allow-Origin value for your site. Configure the response on the image origin, not only in page JavaScript.

If the image is merely displayed and no script needs to read its pixels, remove an unnecessary crossorigin attribute rather than opening access broadly. If a canvas, editor or other script must read the image, keep the attribute and configure the server for the precise site origin.

Fix lazy loading and layout-dependent failures

loading="lazy" defers an offscreen image until it approaches the viewport. Scroll it into view while watching Network. Give it real dimensions with HTML attributes or CSS so the browser can calculate layout and intersection.

<img src="/images/article.webp" alt="Article illustration" loading="eager" width="1200" height="675">

A lazy image with zero dimensions may never intersect a visible element. For a hero or other important image already in the initial viewport, remove lazy loading or use eager loading so it is not unnecessarily deferred. Also check whether JavaScript is expected to copy a data attribute into src; if that script fails, no request will appear.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #4
Sale
YOTUO 500GB External Hard Drive, Portable Storage Expansion HDD, USB 3.0 & USB-C for PC, Mac, Desktop, Laptop, Smartphone, PS4, Xbox One, Xbox 360, Office & Game Black
  • 【Versatile Storage Expansion – For Gaming, Work & Everyday Use】 Running out of space on your PS5 or Xbox Series X/S? This external hard drive lets you store and play PS4 / Xbox One games directly, instantly freeing up your console’s internal storage for next‑gen titles. At the same time, it handles work file backups, media libraries, and cross‑device data transfers with ease. One drive, all your needs. *(Note: PS5 / Xbox Series X|S games cannot be run or stored directly from the external hard drive. However, by offloading your PS4 / Xbox One games, you can free up valuable space for newer titles.)*
  • 【Patented Silicone Sleeve – Data Protection You Can Count On】 Worried about drops? We’ve got you covered. The patented built‑in silicone sleeve acts like a shock‑absorbing armor, cushioning your drive against bumps and falls. Whether it’s important work documents, precious family photos, or hard‑earned game saves, your data deserves this level of protection.
  • 【Plug & Play, Compatible with Computers & Consoles】 No complicated setup—just plug in and go. Works seamlessly with Windows, Mac, and Linux computers, as well as PS4, PS5, Xbox One, and Xbox Series X/S. Process files at the office, back up data at home, or enjoy gaming in your downtime—one drive handles all your devices, simply and hassle‑free.
  • 【USB 3.0 Ultra‑Fast Transfer – No More Waiting】 Tired of watching progress bars crawl? With USB 3.0 speeds up to 5Gbps, large files transfer in seconds. Whether you’re moving work documents, transferring hundreds of gigs of games, or backing up a year’s worth of photos, you get more done in less time.
  • 【Sleek, Lightweight, and Ready to Go】 Weighing just 0.16 kg—lighter than a can of soda—this compact drive features a stylish mirror‑and‑frosted finish. Toss it in your bag and go, whether you’re heading to the office, visiting a friend for a gaming session, or giving a presentation on the road.

Repair by symptom: a practical decision path

No request in Network

  • Inspect the live <img> and any <source> elements.
  • Check for empty attributes, a script error, a hidden template, or a lazy image that has not reached the viewport.
  • Confirm the browser selected the candidate you think it selected.

404, 403 or redirect loop

  • Copy the exact requested URL from Network.
  • Check path, capitalization, deployment location and file permissions.
  • Follow redirects and confirm the final response is on the intended origin.

200 response but broken preview

  • Inspect the body for an HTML error or login page.
  • Verify image bytes, format and file integrity.
  • Check that the server’s content type matches the asset.

Policy error

  • Use the exact Console wording to distinguish CORS, CSP and mixed content.
  • Change only the implicated URL, header or attribute.
  • Reload with DevTools open and confirm the new request and response.

Prevent recurring image failures

  • Keep image paths and capitalization consistent between local development and production.
  • Publish responsive candidates together with the page that references them.
  • Set width and height to reserve layout space and make lazy loading reliable.
  • Use HTTPS asset URLs on HTTPS pages.
  • Maintain a narrowly scoped CSP and document each approved image origin.
  • Test authenticated, redirected and CDN-served URLs; a browser receiving an HTML error page cannot decode it as an image.
  • Capture the Network status, final URL and response preview when reporting a bug so another developer can reproduce the diagnosis.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Or skip the browser setup

If you need a repeatable screenshot while diagnosing a page, ScreenshotNeo provides a website screenshot API and MCP server. It accepts consent banners before capture and removes more than 60 known consent platforms, newsletter popups and chat widgets; each step can be disabled. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads and cache hits are not billed, and response headers identify the page verdict and billing result. Its MCP tools—take_screenshot, get_page_info and capture_pdf—let Claude, Cursor or another MCP client capture pages.

One GET request returns PNG, JPEG, WebP or PDF output:

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

See the ScreenshotNeo documentation for all options. The same call in Python:

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)

And Node.js:

const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);

ScreenshotNeo also supports full-page captures with lazy images loaded, CSS-selector element captures, device presets and custom viewports, retina scale, custom CSS and JavaScript, clicks, waits, blocked resources, cookies, headers, user agents, timezone and geolocation, transparent backgrounds, resizing, chosen cache TTLs, signed links, asynchronous webhooks, bulk capture of up to 100 URLs per call, usage reporting and an OpenAPI specification. Every feature is on every plan. The Free plan includes 1,000 shots per month without a card; paid plans start at $5 for 3,000 shots. Sign up free for ScreenshotNeo.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Cost, reliability and debugging notes

For ordinary website repair, the browser’s Network panel is the fastest diagnostic because it shows the request your visitor actually made. Screenshot automation is useful when you need repeatable captures across URLs, devices or authenticated states, but it does not replace fixing a missing file, invalid response, CSP rule or CORS configuration. When using any capture workflow, record the target URL, viewport, selected resource and response status so a visual difference can be tied to a concrete request failure.

Best Value
AUAMOZ 256GB Mini Dual Interface Flash Drive, No App Required, Portable Memory Stick Compatible with iPhone, iPad, Android & PC, Easy Storage for Photos, Videos & Files, Purple
  • 【High Capacity & Effortless Backup】This Compatibility iPhone USB storage flash drive easily handles today’s larger 4K videos, high-resolution photos, and contacts. Easy backup frees up space instantly, so you’ll never miss capturing important moments. Perfect for iPhone, iPad, Android and PC users. (Note: For iPhone/iPad No App Required; For Android only Needs OTG Enabled, No Extra App.)
  • 【Universal Compatibility with Dual Interfaces】Featuring USB-C, USB-L, USB ports adapter, this Compatibility iPhone photo storage stick connects seamlessly with iPhone/iPad devices, Android OTG phones, laptops, and tablets. No iCloud fees, no internet required—just plug in and move files freely between your phone, computer, and other devices.
  • 【Blazing Fast Transfers Anywhere】Featuring upgraded high-speed chips, this portable phone external storage drive enables instant mass file transfers—up to 30 MB/s read speed and 15 MB/s write speed—no WiFi or data cables required. Save time sharing photos, moving large video projects, whether you’re traveling, working, or creating content on the go.
  • 【Easy Backup, Enjoy Anytime Anyplace】Plug-and-play & simple to operate—quickly back up videos, photos, contacts and documents without tedious copying or pasting. No third-party apps required; just plug the drive into your iPhone, iPad or Android device and operate via the "Files" app. You can also share files directly from the iPhone photo stick to social media, instantly sharing wonderful moments with friends and family.
  • 【How to Transfer in iPhone iPad】Requires iOS 13 and Higher: Simply insert the flash drive into your iPhone iPad, then go to the "Files" app, Click back to “Browse” and find the flash drive named “Untitled”, Move photos videos and files to your iPad or iPhone as needed.

Frequently Asked Questions

Why does an image work when opened directly but not on the page?

The page may select a different responsive candidate, or a CSP, CORS or mixed-content rule may block the embedded request. Compare the URL requested in Network with the URL you opened directly and read the Console message.

Can clearing the browser cache fix a broken image?

It can remove a stale cached response or service-worker asset, but it will not repair a wrong path, invalid file, server error or policy block. Confirm the current request first.

Should every image use lazy loading?

No. Lazy loading suits offscreen content, but a visible hero should generally load immediately. Lazy images also need nonzero dimensions so intersection detection can work.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.