How ImgLinks Works

A plain-English explanation of how the tool fetches, parses, and returns image URLs from any webpage.

Step 1 — You submit a URL

When you enter a webpage address and click Extract Image Links, your browser sends the URL to our server. No HTML is fetched from your browser; everything happens server-side.

Step 2 — We fetch the page HTML

Our server sends a standard HTTP GET request to the URL you provided. We use a descriptive User-Agent header so that the target server knows the request comes from ImgLinks. We follow redirects automatically and apply a 15-second timeout. If the page is unavailable or returns an error, we tell you straight away.

Step 3 — We parse the HTML for image references

We parse the raw HTML using a server-side HTML parser (Cheerio). We look for image URLs in all of the following locations:

  • img src— the main source attribute on every image element.
  • img srcset— responsive image descriptors on image elements.
  • picture source srcset— responsive sources inside picture elements.
  • og:image— the Open Graph image meta tag used by social media previews.
  • twitter:image— Twitter card image meta tags.
  • link rel="preload" as="image"— images preloaded for performance.
  • data-src, data-original, data-lazy-src— common lazy-loading attributes used by WordPress, WooCommerce, and other platforms.
  • Inline CSS url()— background-image references in style attributes and style blocks.

Step 4 — We normalise and deduplicate URLs

Many pages include relative URLs (e.g. /images/logo.png). We resolve every URL against the base URL of the page to produce a full absolute URL. We also deduplicate the list so that each unique image URL appears only once, even if it is referenced from multiple places on the page.

Step 5 — We probe image metadata

For each image URL (up to 50 per request), we send a lightweight HEAD request to the image server. This lets us check the Content-Type header to confirm the file type and the Content-Length header to estimate the file size. This probe happens in parallel for speed and has a 5-second timeout per image. If the probe fails or times out, we fall back to detecting the file type from the URL extension.

Width and height values, where shown, come from HTML attributes on the img element. We do not download full image files to detect pixel dimensions.

Step 6 — Results are returned to your browser

The complete list of image URLs, source types, file types, and available metadata is returned to your browser. Nothing is stored on our server. You can then filter the results, copy URLs to the clipboard, or download a CSV or JSON file.

Limitations

  • Images loaded by JavaScript after the initial page render are not visible in the source HTML and cannot be extracted.
  • Some sites block automated requests by returning a CAPTCHA or bot challenge page, which contains no useful image data.
  • Images referenced only in external CSS files (not inline styles) are not currently extracted.
  • Pixel dimensions cannot be detected without downloading the full image file. Only HTML attribute-based dimensions are shown.

Have more questions? Visit the FAQ page or contact us.