Choose analytics

Essential browser storage remembers your tool settings. Optional analytics helps us understand site use and loads only if you accept it. Image files, filenames and submitted URLs are not sent to analytics.

Read the Cookie Policy
Skip to content
CompressByURL
CompressConvertResizeTarget sizeBy URLWebsite scannerBlog
Start compressing
Homechevron_rightBlogchevron_rightDeveloper guides
Developer guides

Find oversized images with Chrome DevTools and currentSrc

The source in your CMS is not always the image your visitor receives. Use the element’s selected resource and the Network panel together to find the delivered variant that needs changing.

SV
Saipavan V
Sep 5, 20264 min read

Updated Oct 2, 2026

Find the image the browser chose: topic-specific technical illustration
Editorial illustration

The short answer

  • checkInspect the actual selected resource, not just src.
  • checkCompare delivery with the computed display slot.
  • checkKeep cache state and test viewport in the evidence.
On this page
  1. Start with a controlled navigation
  2. Identify the visible element and its selected source
  3. Compare the delivery width to the actual slot
  4. Read bytes and timing as different evidence
  5. Use a short read-only console check when useful
  6. Make the issue actionable for the asset owner

Start with a controlled navigation

Open the relevant public page with DevTools already available and record the viewport. Reload under a consistent cache condition. The Network panel lets you inspect requests and transferred resources; use image filtering or resource types to narrow the list.

Distinguish a cold navigation from a repeat visit. A resource served from cache is useful performance behavior, but it does not establish that its uncached transfer is efficient. Note redirects, consent banners, and any interaction you perform before measuring. That makes your screenshot and resource list reproducible by another developer.

Identify the visible element and its selected source

Select the image in the Elements panel and inspect its source candidates. MDN defines currentSrc as the full URL of the selected image resource. That property helps distinguish the file the browser chose from the fallback src shown in the markup.

Match that URL to the Network entry. A resource name with a width parameter is a hint, not proof of the decoded dimensions. Inspect the actual asset or available image metadata where needed. For backgrounds, follow the computed CSS rule and its request instead; currentSrc applies to image elements, not every visual region.

Compare the delivery width to the actual slot

Measure the element’s displayed width in CSS pixels and consider your chosen density target. In an illustrative card, a 300 CSS-pixel slot on a 2× display could justify a 600-pixel candidate. A 2400-pixel original in that slot deserves investigation, but confirm crop and expected density before declaring a smaller width correct.

Repeat at another important breakpoint. A source used by both a card and a large detail page may need separate variants. Fix the requesting template rather than overwriting the only original with a thumbnail. Write down the slot measurements so responsive markup changes can be checked against real geometry.

Read bytes and timing as different evidence

The Network panel can show resource and transfer information, and its waterfall helps locate request timing. Record which value you are using. A file’s size on disk, an encoded response, and a transfer observed with cache behavior are related but not interchangeable.

For a critical image, also look at when the request begins. A small file discovered late can still be a performance problem. A large file requested early may need resizing or encoding. Keep both observations in the issue so an asset change does not get mistaken for a discovery fix.

Use a short read-only console check when useful

This small browser-console example lists ordinary image elements on the current page. It reads their selected URL and display box without sending data anywhere. It excludes CSS backgrounds and cannot tell you the complete network transfer history. Treat the output as an element inventory, not a performance score.

Run it only on a page you are inspecting, then map an interesting row back to the Network entry. A zero natural width can indicate an image that has not loaded successfully or has not completed loading. Do not treat that value as proof that the image has no cost.

Read-only image inventory for the current document. It does not fetch extra resources or include CSS backgrounds.
Array.from(document.images, (image) => ({
  source: image.currentSrc || image.src,
  displayWidth: Math.round(image.getBoundingClientRect().width),
  naturalWidth: image.naturalWidth,
  loaded: image.complete && image.naturalWidth > 0
}));

Make the issue actionable for the asset owner

Attach the page, viewport, selected URL, slot width, observed bytes, and proposed replacement. If the problem is an inaccurate sizes expression, name the component. If it is an inefficient source, attach the approved exported candidate. Avoid a vague ticket that says only “optimize images.”

Use the website scanner to gather additional static candidates, then confirm important ones in DevTools. After deployment, repeat the same navigation and verify the requested file. Keep the original and your measurements so the next edit can explain both what changed and why.

Common questions

Does currentSrc include background images?

No. It belongs to HTML image elements. Inspect computed background styles and their network requests separately.

Can I judge mobile selection by shrinking a loaded desktop page?

Use a fresh mobile navigation as stronger evidence. A browser can keep a larger candidate it already downloaded.

Sources and further reading

Technical references for the concepts in this guide. Examples with hypothetical values are illustrations, not measured results.

  • Chrome: Network panel referencenorth_east
  • MDN: currentSrcnorth_east
SV

Saipavan V

Saipavan V writes practical guides for CompressByURL on browser-first image optimization, website image audits, and web performance. His articles connect technical explanations with steps you can verify on your own site.

More about the author

On this page

  1. Start with a controlled navigation
  2. Identify the visible element and its selected source
  3. Compare the delivery width to the actual slot
  4. Read bytes and timing as different evidence
  5. Use a short read-only console check when useful
  6. Make the issue actionable for the asset owner
  7. Common questions
  8. Sources and further reading

Try it with your images

Local files stay on your device.

Scan a public webpageDiscover static image candidates before inspecting important resources in your browser.arrow_forwardResize an imageCreate a static candidate with dimensions that fit your intended display.arrow_forward

Explore the topics

Web performancechevron_rightWebsite auditschevron_rightDeveloper guideschevron_rightImage optimizationchevron_right

Keep going.

A few guides for your next useful fix.

View all guides arrow_forward
arrow_outward
Developer guides4 min read

Responsive images: get srcset and sizes right for your layout

Build responsive image variants using real slot widths, pixel density, and browser-selected sources. Includes a complete HTML card example.

Sep 21, 2026
arrow_outward
Web performance4 min read

Fix GTmetrix “Properly size images” without making photos blurry

Find oversized image variants in GTmetrix, calculate a sensible pixel width, and deploy responsive replacements without sacrificing desktop clarity.

Sep 29, 2026
arrow_outward
Website audits4 min read

What a website image scanner can find, and what needs a browser

Understand HTML image discovery, lazy source hints, srcset candidates, fetch limits, and the difference between a static inventory and a rendered performance audit.

Sep 3, 2026
Mascot organizing image cards for optimization

Compress images locally, from a URL, or from a webpage.

Reduce file size, convert formats and prepare web-ready assets in your browser.

Open the free image compressor
CompressByURL

Make images lighter. Keep local files private.

BlogAbout & contactPrivacyTermsCookies