Website image scraping guide

How to scrape images from a website.

Collecting one visible picture is easy. Collecting every useful image across a whole website, without missing responsive files, CSS backgrounds or lazy-loaded assets, takes a better method.

Scan a website free

First decide whether you need one page or the whole site

Most browser image downloaders inspect only the page open in the current tab. That is enough for a gallery or article, but it does not solve an agency handover where images are spread across service pages, case studies, team profiles and old landing pages.

For a complete website, the scraper must discover internal links, visit each public page, extract image URLs and remove duplicates. Gather follows same-domain pages so the result represents the site rather than a single screen.

Four ways to collect website images

1. Save images manually

Right-click and save works when you need two or three known images. It becomes slow and unreliable on a redesign because the displayed file may be a small responsive version rather than the best source.

2. Use a browser extension

An image downloader extension can preview and filter files on one webpage. It is useful for a quick page-level job, but many extensions do not crawl the rest of the website.

3. Use wget or write a scraper

Developers can recursively fetch pages with wget or parse HTML with a script. This gives control, but output often arrives in nested folders and modern image markup needs extra handling. You must account for relative URLs, srcset, lazy-loading attributes, CSS files, query strings, duplicate files and safe crawl limits.

4. Use a purpose-built website image extractor

A no-code tool can crawl the public site, estimate the total size and prepare one ZIP. This is usually the quickest route when the real job is rebuilding a client website rather than maintaining a scraper.

Where website images actually hide

Looking only for <img src> misses common sources. A useful scraper should also check:

  • srcset and <picture> candidates used for responsive layouts
  • lazy-load attributes such as data-src and data-lazy-src
  • CSS background-image values used for heroes and banners
  • social sharing images declared in page metadata
  • images hosted on approved CDNs or subdomains

JavaScript-heavy sites can still be difficult. If images appear only after interaction, login or an API request, any ordinary crawler may return a partial collection.

A practical workflow for web designers and agencies

  1. Confirm the client owns the website or has permission to reuse its imagery.
  2. Keep the existing site online until the image audit and export are finished.
  3. Start from the main domain and include a sitemap if important pages are hard to discover.
  4. Run a site-wide scan and compare its page count with the known website structure.
  5. Export originals for an archive, or choose WebP and a maximum width for a new build.
  6. Review the ZIP and manually check the homepage, key landing pages and galleries.
  7. Store the result in a client-owned asset library before changing DNS or hosting.
Only scrape and reuse assets you own or have permission to use. Public access does not remove copyright, privacy or licensing restrictions.

Why a scan before export is useful

A free scan tells you whether the job contains 20 images or 2,000 before you commit time or money. It also exposes the estimated source weight, likely compressed size and any crawl limits. That makes it easier to quote a migration and explain the work to a client.

Gather lets you scan the public site first, download the first 25 images free and unlock the complete ZIP only when the result is useful.

Scrape the site, not one image at a time.

Paste the URL, inspect the free scan and turn the useful website imagery into one organised pack.

Find the website images