What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
When photos do not appear, first determine the scope: one missing image usually points to that file’s URL or server response; images missing across several sites suggest a browser, extension, security-software, network, or device problem. Compare the page in a private window, another browser, and—if possible—another device, then inspect the image request and browser console for evidence instead of guessing.
Start by narrowing the failure
Reload the page once, then look at other images on the same page or site. Record which pattern matches your symptoms:
| What you see | Check first | Likely next step |
|---|---|---|
| One photo is broken while others work | The image URL and network response | Correct the file path, filename, deployment, or server response if the request is missing or returns 404. MDN describes 404 as “resource not found” (MDN). |
| Images fail only in one browser or profile | Private window, another browser, extensions, site-protection settings, and cached data | Isolate the setting or extension; clear site data only if the evidence points there. |
| Images fail on several unrelated websites | Connection, DNS, filtering, privacy/security software, or network policy | Check another connection or device and review what the security product blocked. |
| An HTTPS page reports mixed content | The image scheme and browser Security/Console messages | Serve the image over HTTPS and update the page reference. |
| The console reports CORS | Whether the request uses crossorigin or script access to image pixels |
Configure narrowly scoped permission on the image server when that use actually requires CORS. |
| Images appear only after scrolling | Lazy-loading state and page JavaScript | Check code that assumes every lazy image is ready at the page load event. |
These clues are starting points, not guarantees. A specific status code or console error should determine your next check.
Quick fixes for visitors
Try a private window or another browser
Open the same URL in a private or incognito window. This commonly starts without most extensions and uses a separate session. If photos work there, an extension, stored site data, or a browser setting is a stronger suspect. Test a second browser as well; a failure in one browser but not another narrows the problem to that browser profile or its integration with security software.
#1 Best Overall
Disable extensions one at a time
Temporarily turn off ad blockers, privacy tools, script controls, image-optimization extensions, and site-specific blocking for the affected domain. Reload after each change. Re-enable extensions individually so you can identify the conflict rather than leaving protections disabled. Mozilla’s troubleshooting guidance covers extensions, blocked content, and browser comparison (Mozilla Support).
Check security and privacy software without removing protection
Antivirus web shields, endpoint filters, DNS blockers, parental controls, and corporate proxies can reject image requests. Look for a blocked-resource event or allow-list control for the specific site. Do not turn off security protection wholesale; use its logs or temporary, reversible site exception to confirm the cause. If the same page works on a different network, ask the network administrator or inspect router/DNS filtering.
Clear cached files or site data only when indicated
Stale cached HTML, a service worker, or corrupted site data can preserve an old image URL. Clear data for the affected site first, or clear cached files using your browser’s privacy settings, then sign in again if necessary. This step can remove local preferences and sessions, so try a private window and browser comparison first. Official browser support lists cache clearing among several troubleshooting steps, not as a universal cure (Mozilla Support; Chrome Help).
Check the connection and device
If multiple sites or devices have missing images, restart the connection only after checking whether ordinary pages load. Try cellular data or another trusted network. A VPN, DNS filter, captive portal, or intermittent Wi-Fi can affect image hosts differently from the main website. Chrome’s connection guidance separates browser, device, network, and site causes (Google Chrome Help).
Report a site-specific failure
If one website fails in multiple browsers and devices, send its page URL, the affected image URL or description, your browser and device, and the time of the failure to the site owner. That information lets the owner correlate the report with server logs and deployment changes.
Inspect the failed image request in developer tools
Developer tools reveal whether the browser requested an image, where it requested it, and what came back. Labels vary slightly by browser, but the workflow is platform-neutral.
- Open the published page, not only a local preview.
- Open developer tools (usually from the browser menu, or with the browser’s developer-tools shortcut) and select Network.
- Reload the page while the Network panel is open. Use the panel’s filter for “Img” or type part of the filename.
- Select the request for the missing photo. Check the full request URL, status code, response headers, timing, and any “blocked,” “failed,” or certificate message.
- Open Console and Security messages in separate tabs. Match their timestamp and URL to the image request.
Interpret common outcomes
- 404: The server says the resource is not found. Verify spelling, capitalization, extension, directory, and the deployed file path.
- 403 or another denial: Access policy, hotlink protection, authentication, referrer rules, or a security layer may be rejecting the request. Confirm the intended public access policy in server logs.
- 5xx: The image host or an upstream service failed. Retry later and inspect hosting/CDN logs rather than changing browser settings.
- No request appears: JavaScript, a content blocker, a service worker, a malformed source, or a responsive-image selection may have prevented a request. Inspect the rendered HTML and computed styles.
- Request is pending or times out: Investigate connectivity, DNS, the image host, and blocking software. Read the browser’s exact error.
- Successful response but nothing visible: Inspect the
<img>element, CSS dimensions and visibility, selectedsrcset/sizescandidate, decoding errors, overlays, and lazy-loading state.
MDN’s Network-panel example shows how a missing resource can be identified from the failed request (MDN).
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Fix the driver behind crashes, sound loss and screen glitches3Clear out junk files and repair common Windows errorsMixed content: HTTPS page, HTTP image
An HTTPS page that embeds an HTTP image creates mixed content. Browsers may block or upgrade insecure resources, and the Console or Security panel will normally identify the issue. Change the image URL to HTTPS, use a suitable relative URL where appropriate, and ensure the image host presents a valid certificate. MDN explains mixed-content behavior and HTTPS remediation (MDN Mixed Content).
Rank #3
CORS: only when the request needs cross-origin permission
Cross-origin images can display without every CORS scenario applying. CORS becomes relevant when the image request uses the crossorigin attribute or page code needs to read image pixels or export canvas data. If the Console reports a CORS error, inspect the requesting origin and response headers, then configure the image server for the specific intended origin and credentials policy. Do not label every remotely hosted image a CORS problem. See MDN’s image-element reference (<img> reference) and CORS error guide (CORS errors).
Site-owner checklist: verify the deployed page
Confirm the URL and file
Copy the exact URL from the Network panel and request it directly. Compare path spelling, capitalization, extension, directory, URL encoding, and the published host with the file in the deployment artifact. A local preview can hide a production-only path or case-sensitivity error. Check redirects and the final URL as well.
Check server and CDN behavior
Use hosting, reverse-proxy, and CDN logs to correlate the request time, status, cache state, and upstream response. Confirm that the response has an image content type and that authentication, referrer restrictions, rate limits, or hotlink rules are intentional. If the server returns an HTML error page with a nominally successful status, correct the server configuration.
Review page markup and responsive images
Inspect the rendered <img>, including src, srcset, sizes, loading, decoding, and alt. A bad responsive candidate can fail only at a particular viewport. Check CSS for display:none, zero dimensions, clipping, opacity, stacking overlays, or an accidental background color matching the image.
Audit lazy loading and script timing
Lazy-loaded images may not be fetched until they approach the viewport. MDN notes that lazy images are not treated like eager images for scripts relying on the page load event (MDN <img>). Trigger loading with an intersection observer or the appropriate framework lifecycle, and do not generate a gallery, screenshot, or export before its images are ready.
Retest publicly after the fix
Reload the real URL in a fresh session, test a private window and another browser, and inspect the request again. If a CDN is involved, verify the new object and cache behavior at the public edge. Report verification only for browsers, devices, and networks you actually checked.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.When the symptom points elsewhere
Photos are blank until scrolling
This usually indicates lazy loading, an intersection-observer threshold, or script timing. Inspect whether the image has a deferred data-src rather than a usable src, and whether JavaScript errors stop the loader.
Free tools Windows power users keep installed
One-click scans. No signup required.
Thumbnails work but full-size photos do not
Compare both requests. Different hosts, permissions, transformations, signed URLs, or file-size limits can affect the full-size endpoint while thumbnails remain healthy.
Best Value
- Used Book in Good Condition
Only one viewport or device fails
Inspect the selected srcset candidate, media queries, device-pixel-ratio variants, and user-agent rules. A missing mobile asset can look like a browser-wide failure when it is actually one responsive path.
Google Images alone looks wrong
Use Google’s service-specific steps—private browsing, cache and cookies, extensions, and JavaScript—without treating them as a diagnosis for every website (Google Search Help).
Or skip the browser setup
If your goal is to capture a reliable image of a page while investigating or documenting it, ScreenshotNeo provides a website screenshot API and MCP server. A single GET request returns PNG, JPEG, WebP, or PDF; its cleaner accepts consent banners and removes more than 60 known consent platforms, newsletter popups, and chat widgets before capture, with controls to disable each step.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallSee the complete parameter reference in the ScreenshotNeo documentation. This cURL request captures Stripe:
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
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)
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 reports whether a response was billed. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits cost nothing, and response headers identify the page verdict and billing result. Its MCP server exposes take_screenshot, get_page_info, and capture_pdf for Claude, Cursor, and other MCP clients. The Free plan includes 1,000 shots per month with no card; paid plans start at $5 for 3,000 shots. Sign up for the free plan.
Frequently Asked Questions
Should I reinstall my browser when images are missing?
No. First compare a private window and another browser, inspect the image request, and review extensions or security blocks. Reinstallation is rarely the first diagnostic step.
Can a broken image be caused by its filename’s capitalization?
Yes. Many production servers treat uppercase and lowercase paths as different files. Compare the requested URL with the deployed filename exactly.
Is a 200 status proof that the photo is valid?
No. A successful status can still return the wrong content type, an error document, a corrupted file, or an image hidden by HTML/CSS. Inspect the response and rendered element.
Quick Recap
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.

