You right-click, save, and end up with a 400px file from a page that clearly showed something sharper. That's not bad luck — it's how modern image delivery works, and it's fixable.
Your browser is showing you the small one on purpose
Modern sites don't serve one version of an image. They serve whichever version suits the visitor's screen — a phone gets a narrow file, a desktop gets a wider one, a high-density display gets a bigger one again. That's the srcset attribute doing its job, and it's the right thing for page speed.
The side effect is that "save image as" saves whichever version your browser chose. On a laptop that's often a mid-size file, even though a much larger original exists on the same server.
Three more reasons the naive approach fails
Lazy loading
Images below the fold aren't in the page until you scroll to them. Any tool that reads the page as delivered sees a fraction of what's actually there — which is why bulk downloaders so often return twelve images from a gallery of eighty.
CSS background images
Hero banners, tiles and section backgrounds are frequently applied through CSS rather than placed as <img> elements. They're invisible to anything that only looks for image tags, even though they're plainly visible to a human.
CDN resizing in the URL
Plenty of platforms encode dimensions directly into the image URL — a width parameter, or a size segment in the path. The original is usually still reachable by adjusting that URL, which is the difference between a 600px copy and a 3000px original.
What "full quality" actually means
Worth being precise here, because tools overclaim constantly. Full quality means the largest version the site actually serves. If a store only ever publishes 800px images, no tool can produce a 3000px original — it doesn't exist. Anything promising to "enhance" beyond the source is inventing pixels, and for product photography that's worse than useless.
Realistic expectation: a good bulk downloader gets you the largest file that genuinely exists on the server. That's usually several times bigger than what right-click gave you — and it's the honest ceiling.
The part people skip: are you allowed to?
Technically downloading images is easy. Being entitled to use them is a separate question, and it's the one that causes actual problems. Downloading your own site's images before a migration, pulling your own supplier's catalogue photos that you're licensed to use, or collecting your client's assets during a rebuild — all fine. Lifting a competitor's product photography onto your own store isn't, regardless of how easy the tooling makes it.
What a decent workflow looks like
- Walk the page properly — scroll through lazy-loaded content so everything is present before collecting.
- Collect from every source — image tags, srcset candidates, gallery data and CSS backgrounds.
- Resolve to the largest version — pick the biggest srcset candidate, and strip resizing parameters where the original is reachable.
- Filter before downloading — a minimum dimension threshold removes tracking pixels, icons and interface sprites.
- De-duplicate — the same image referenced from five places should arrive once.
- Name and order the output — a folder of 200 files named arbitrarily is barely more useful than no files at all.
Why it's worth automating
Doing this by hand for a 40-product catalogue means opening each image in a new tab, checking whether a bigger one exists, saving it, renaming it, and repeating. It takes an afternoon and produces inconsistent results because attention drifts. Automating it takes minutes and produces the same result every time — which matters most when the images are going straight into a store migration.