A single webpage can contain dozens or even hundreds of images. Product pages on e-commerce sites, image galleries on photography portfolios, reference boards on design sites, documentation pages with diagrams. Downloading them individually means right-click, "Save image as," choose a folder, repeat. For 10 images, that is tedious. For 100 images, it is unworkable.
This guide covers four different methods for bulk downloading images, ordered from the simplest one-click approach to the most powerful command-line tools. Choose the method that fits your technical comfort level and the scale of your download needs.
Bulk Image Downloader — Free Chrome Extension
Download every image from any webpage at once — filter by size, select what you need, and save as individual files or a ZIP.
Why Would You Need to Bulk Download Images?
Batch image downloading is a common need across many workflows:
- Designers building mood boards need to collect visual references from multiple sources quickly. Downloading images one at a time from Pinterest, Dribbble, or Behance kills the creative flow.
- E-commerce managers need product images from supplier websites to populate their own stores. Suppliers often provide images only on their websites, not as downloadable ZIP files.
- Researchers and journalists archive web pages for evidence or reference. Having local copies of all images ensures the content survives even if the original page changes or goes offline.
- Web developers audit image sizes and formats across their sites. Downloading all images lets you analyze them locally for optimization opportunities.
- Social media managers need to collect brand assets, competitor visual content, or user-generated content for campaigns.
- Students and educators gather diagrams, charts, and infographics from educational resources for presentations or study materials.
Method 1: Use a Chrome Extension (Easiest and Fastest)
For the vast majority of people, a Chrome extension is the best approach. It requires no technical knowledge, works on any website, and takes under 5 seconds from start to finish.
The Bulk Image Downloader extension is designed specifically for this task. Here is how it works:
- Install the extension from the Chrome Web Store. It adds a small icon to your toolbar.
- Navigate to the webpage with the images you want to download.
- Click the extension icon. It scans the page and displays a gallery of every image found, including images loaded via CSS backgrounds and lazy-loaded content.
- Filter if needed. You can filter by minimum size (for example, only images wider than 200px) to exclude tiny icons, tracking pixels, and UI elements. You can also filter by file type (JPG, PNG, WebP, SVG, GIF).
- Select the images you want. Click individual images to toggle selection, or use "Select All" to grab everything.
- Click Download. The extension downloads all selected images to your default download folder. If you prefer, you can export them as a single ZIP file for cleaner organization.
Bulk Image Downloader showing detected images with size filters
The extension works on virtually all websites including Google Images, Pinterest, Instagram (public profiles), Unsplash, Amazon, and standard web pages. It handles lazy-loaded images that only appear as you scroll, and it detects images embedded in CSS background-image properties that other tools often miss.
When to use this method: Whenever you need to download images from a webpage and want the fastest, simplest approach. This handles 95% of use cases.
Method 2: Chrome DevTools Network Panel (No Extension Needed)
If you prefer not to install an extension, Chrome's built-in DevTools can capture every image that loads on a page. This method requires a few more steps but gives you complete visibility into what is being loaded.
- Open DevTools with F12 or Ctrl+Shift+I.
- Go to the Network tab.
- Click the Img filter to show only image requests.
- Reload the page with Ctrl+R. Scroll through the entire page to trigger lazy-loaded images.
- The Network panel now shows every image that was loaded. You can see the file name, size, dimensions, and format of each one.
- Right-click any image entry and select Open in new tab to view it, or Save as to download it.
The limitation of this method is that you still need to download images individually. There is no built-in "download all" button in DevTools. However, it is extremely useful for identifying specific images when you need one particular asset rather than everything on the page.
Pro tip: Filter by size in DevTools
Click the "Size" column header in the Network panel to sort images by file size. This quickly surfaces the largest (and usually most important) images while pushing tiny icons and tracking pixels to the bottom.
When to use this method: When you need to find and download a specific image from a page, or when you want to analyze what images a page loads and their sizes. Also useful when you cannot or prefer not to install extensions.
Method 3: JavaScript Console Script (For Developers)
If you are comfortable with JavaScript, you can write a quick script in the DevTools Console to extract all image URLs from a page. This is faster than the Network panel method and can be customized to filter images programmatically.
Open DevTools (F12), go to the Console tab, and paste this script:
// Extract all image URLs from the current page
const images = document.querySelectorAll('img');
const urls = [...images]
.map(img => img.src || img.dataset.src)
.filter(url => url && !url.startsWith('data:'))
.filter(url => {
// Optional: filter out small images
const img = new Image();
return true; // Remove this to add size filtering
});
// Copy URLs to clipboard
copy(urls.join('\n'));
console.log(`Found ${urls.length} images. URLs copied to clipboard.`);
This script finds all <img> elements, extracts their src attributes (including lazy-load data-src attributes), filters out inline data URIs, and copies all URLs to your clipboard. You can then paste the URL list into a download manager or use wget to batch download them.
For a more advanced version that also captures CSS background images:
// Extract ALL image URLs including CSS backgrounds
const allUrls = new Set();
// Regular img tags
document.querySelectorAll('img').forEach(img => {
if (img.src && !img.src.startsWith('data:')) allUrls.add(img.src);
if (img.dataset.src) allUrls.add(img.dataset.src);
});
// CSS background images
document.querySelectorAll('*').forEach(el => {
const bg = getComputedStyle(el).backgroundImage;
const match = bg.match(/url\(["']?(.*?)["']?\)/);
if (match && match[1] && !match[1].startsWith('data:')) {
allUrls.add(match[1]);
}
});
copy([...allUrls].join('\n'));
console.log(`Found ${allUrls.size} unique images.`);
When to use this method: When you need a quick, customizable way to extract image URLs without installing anything. Best for developers who are comfortable with the Console and want to filter images programmatically.
Method 4: wget or curl (Command Line Power Users)
For maximum control and automation, command-line tools like wget and curl can download all images from a URL. This is ideal for scripting, automation, or downloading images from multiple pages at once.
Using wget (Linux/Mac):
# Download all images from a webpage
wget -r -l 1 -nd -A jpg,jpeg,png,gif,webp,svg \
-P ./downloaded-images \
https://example.com/gallery/
Here is what each flag does:
-renables recursive downloading-l 1limits recursion to one level (just the current page)-ndsaves all files to a single directory (no subdirectories)-A jpg,jpeg,png,gif,webp,svgaccepts only image file types-P ./downloaded-imagesspecifies the output directory
Using curl with a URL list:
If you extracted image URLs using the Console script from Method 3, save them to a text file and download them all with curl:
# Download all images from a URL list
xargs -n 1 curl -O < image-urls.txt
Or for more control with parallel downloads:
# Parallel downloads (5 at a time) with progress
cat image-urls.txt | xargs -P 5 -I {} \
curl -# -O {}
When to use this method: When you need to automate downloads across multiple pages, integrate image downloading into a script, or download at scale (hundreds or thousands of images). Also useful on servers or headless environments where you cannot use a browser.
How to Filter Images by Size and Type
One of the biggest challenges with bulk downloading is separating the actual content images from the noise. A typical webpage loads dozens of tiny images you do not want: 1x1 tracking pixels, small UI icons, social media badges, advertising beacons, and spacer images.
Here are effective filtering strategies:
- Minimum width/height: Setting a minimum dimension of 200x200 pixels eliminates most icons, buttons, and tracking pixels while keeping all meaningful content images. The Bulk Image Downloader extension has this built in with a simple slider.
- Minimum file size: Filtering for images larger than 10KB removes most decorative elements while keeping photographs and illustrations.
- File type: If you only need photographs, filter for JPG/JPEG and WebP. If you need graphics with transparency, filter for PNG and SVG. Exclude GIF if you do not need animations.
- URL pattern matching: Many sites store content images in predictable directories like
/uploads/,/images/, or/media/. Filtering by URL pattern can be more reliable than size-based filtering.
Common Issues and How to Solve Them
Images are lazy-loaded and not detected
Many modern websites use lazy loading, where images only load when they enter the viewport. To capture these, scroll through the entire page before attempting to download. Chrome extensions like Bulk Image Downloader handle this by detecting data-src attributes that contain the actual image URLs before the images are loaded.
Images are served as CSS backgrounds, not img tags
Some sites use CSS background-image to display images instead of <img> tags. Basic tools only detect <img> elements. The Console script in Method 3 handles both, and the Bulk Image Downloader extension also detects CSS background images.
Images are in WebP format and you need JPG
Many websites now serve images in WebP format for smaller file sizes. If your workflow requires JPG or PNG, you can use the WebP to JPG/PNG Converter extension to batch convert WebP files after downloading them.
Downloads are blocked by the website
Some websites implement hotlink protection or download prevention through JavaScript. If right-clicking is disabled or images refuse to download, a Chrome extension usually bypasses these restrictions because it reads the image data directly from the browser's memory rather than requesting it from the server again.
Images are protected behind authentication
If images require login to access, Chrome extensions work because they operate within your authenticated browser session. Command-line tools like wget would need cookies or authentication headers to be passed explicitly.
A Note on Copyright and Fair Use
Downloading images does not automatically grant you the right to use them commercially. Before using downloaded images in your work, consider the following:
- Stock photo sites (Unsplash, Pexels) provide free licenses, but always check the specific terms. Some require attribution.
- Personal reference and mood boards are generally fine for private use.
- Archival and research purposes may qualify as fair use, but this varies by jurisdiction.
- Commercial use of copyrighted images without a license is illegal. If you need images for commercial projects, use properly licensed stock photos or commission original work.
- Respect robots.txt and terms of service when using automated downloading tools at scale.
When in doubt, treat downloaded images as reference material only and always verify licensing before using them in published work.
Want an easier way? Bulk Image Downloader does this automatically in one click.
Frequently Asked Questions
Can I bulk download images from Instagram?
Chrome extensions can detect and download images from public Instagram profiles and posts. However, Instagram's terms of service restrict automated downloading. Use this capability responsibly and only for content you have a legitimate reason to save, such as your own posts or publicly shared content you have permission to use.
Will bulk downloading slow down my computer?
For typical use (downloading 50-200 images from a page), no. The browser may briefly use more bandwidth and disk I/O, but modern computers handle this without noticeable impact. If you are downloading thousands of images via command-line tools, you may want to limit parallel connections to avoid overwhelming your network or the target server.
Can I download images from multiple pages at once?
Chrome extensions typically work on one page at a time. For multi-page downloads, the command-line approach (Method 4) with wget -r is most effective. You can also open multiple tabs and use the extension on each one sequentially.
What is the best image format for downloaded photos?
WebP offers the best quality-to-size ratio and is the format most modern websites use. If you need broader compatibility (especially with older software), convert to JPG for photographs or PNG for graphics with transparency.
Are there any file size limits for downloading?
Chrome extensions download images directly through the browser, so there is no inherent size limit. However, your available disk space and Chrome's download management may limit very large batches. If you need to download gigabytes of images, command-line tools with progress tracking and resume capability are a better choice.
Download All Images in One Click
Bulk Image Downloader scans any webpage, shows you every image with size filters, and lets you download them all as individual files or a single ZIP. Free, private, no account needed.
add_circle Add to Chrome - FreePeak Productivity Team
We build privacy-first Chrome extensions that make your browser work harder so you don't have to. Based on real workflows, not feature checklists.