To screenshot multiple URLs in Chrome, use **For Each Link → Paste list → Take a Screenshot** inside Each Link in [Tab Automation](/). Leave **Repeat** off, run the list once, and download the PNGs from **Dashboard → Files**. Each address opens in the same assigned tab before its image is saved.

This fits a list you already have: a handful of landing pages, a set of articles, or a filtered sitemap. Each result is a PNG of the page the automation reached. PDF, JPG, and WebP are outside this step. The run visits the URLs you supply, and the images stay in Results until you download them.

## Add the URLs you want to capture

Install Tab Automation and open a regular web page in Chrome. Custom automations are free. The full Dashboard used below requires [Explorer access](/blog/launch-license); without it, the basic saved-results list still lets you download and export your data.

1. Open the side panel and choose **New Automation**.
2. Under **Select a Tab**, turn off **Always start this automation in a new tab** and select the open page.
3. Choose **Add Step → For Each Link**.
4. Choose **Paste list** and enter two or three page URLs, one per line. Each URL must begin with `https://` or `http://`.
5. Review the collected list. Use **Limit how many** for a small first pass, or **Ignore** any URL you want left out.

Use a fresh automation for a pasted list. If a link selector is already saved, a run returns to **Start** and uses the links it finds there before the pasted URLs. The [For Each Link reference](/steps/for-each-link) explains that order.

A public XML sitemap can supply the addresses instead. Choose **Sitemap**, enter the sitemap URL, and click **Collect links**. You provide the sitemap URL yourself. Hostname filters, path filters, and the supported formats are in the [sitemap section of For Each Link](/steps/for-each-link#collect-from-a-sitemap).

## Capture the visible area or the full page

Add [Take a Screenshot](/steps/take-a-screenshot) **inside Each Link**. The loop starts empty. A screenshot placed outside it records only the page open when the runner reaches that step.

**Full page** is off by default. Leave it off to photograph the current viewport without scrolling. Turn it on to scroll, load more content, and save one PNG that includes content below the fold. The sidebar stays open, and the original scroll position is restored afterward. Closing the sidebar yourself does not stop the job.

Loading and capture each have a 30-second budget. The PNG is limited to 32 megapixels and 32,767 pixels on a side. A page that exceeds a limit, or that changes during capture, can be saved as a `-partial.png` with a warning. The rest of the list still runs. Full-page capture does not click a **Load more** button or scroll inside a nested panel. A virtualized list may omit rows that were never placed in the document.

With **Full page** on, **Adjust sticky elements (Experimental)** is optional and off by default. Its hint says it keeps sticky content in its page position and places fixed headers, footers, and wide bars at the image edges. Full-width notices may also move, and some sites are unsupported. If the adjustment cannot be applied reliably, the step saves a normal full-page screenshot and reports that. The fallback by itself does not mark the file partial.

When a cookie banner or another overlay covers the page, add [Hide Element](/steps/hide-element) before the screenshot, still inside Each Link. The [clean screenshot guide](/blog/screenshot-page-without-cookie-banner) shows how to pick that node. Hiding is temporary. It is separate from the sticky-element switch.

If charts or other late content must finish first, add [Wait / Delay](/steps/wait-delay) inside Each Link, before Take a Screenshot. The loop does not insert a pause between URLs.

## Test one page, then run one pass

1. Inside Each Link, open **Go To This Link** and choose **Open** beside one collected URL. That visits the page in the assigned tab. It does not create a result or mark the URL visited.
2. Choose **Test screenshot**. The test uses the Full page setting you selected and saves a labeled Test run. It captures the open page only.
3. Open **Dashboard → Files** and preview the Test PNG. Check the framing and whether the content you need has loaded.
4. Return to the automation. Keep **Repeat** off in the End block, then choose **Save & Run**.

Chrome must stay open. The assigned tab visits each URL in order, and the next begins when the inner steps finish. Watch the automation row or [Activity](/steps/activity) for warnings. **Pause** holds the run. **Resume** continues it.

A failed capture records a warning, and the run continues with the next URL. The step does not switch to the tab to try again. A storage error pauses at the screenshot so you can free space and retry that save. The retry does not replay earlier steps.

Both modes use Chrome's [debugger](https://developer.chrome.com/docs/extensions/reference/api/debugger) and show its debugging notice during capture. A minimized window can stop producing frames. Capture then times out and leaves the window minimized.

## Download the PNGs

When the run finishes, open **Dashboard → Files**. Use the source URL and the run details to find this batch. Choose **Download** for one PNG, or select several and choose **Download ZIP**. The [Dashboard guide](/dashboard#files) explains selection and exports.

The screenshot step stores the PNG in the extension. **Download** and **Download ZIP** copy it out of Chrome. Export stays unavailable while the run is still going; pause the automation if you need the files saved so far. A file you already downloaded is a separate copy. Later captures appear as their own results.

Before you rely on the batch, check:

- The run has one screenshot for each URL you expected it to visit. Keep the Test PNG separate from those rows.
- The source URL on each row matches your list.
- A sample image shows the content you needed, including anything below the fold when **Full page** is on.
- Any `-partial.png` is opened on its own. The warning in Activity names the limit that stopped the capture.

The stored name uses the hostname and the capture time to the second, such as `example.com-2026-09-24-120000.png`. Two pages on the same host captured in the same second can share that name. Each row still keeps its source URL. A ZIP prefixes each stored name with its place in the selection, so those captures stay distinct in the archive.

**Advanced → Export folder** on the screenshot step overrides the Settings folder. The default folder name is `tab-automation`. That setting suggests the path for a later download under Chrome Downloads. The image is not stored as a Value.

A timer that photographs one tab you leave open is a different recipe: [automatically screenshot a Chrome tab](/blog/automatically-screenshot-a-chrome-tab).

## If a page is missing or incomplete

**A later run skips URLs.** **Skip visited** defaults to **Timed** and remembers visits for 24 hours. The next run keeps that history. Choose **Always** to visit remembered URLs again. **Never** keeps skipping them. Also check ignored URLs and **Limit how many**.

**The PNG shows only the top of the page.** **Full page** is still off, or the region you want sits inside a nested scroller. Turn **Full page** on. When you want one off-screen region and leave **Full page** off, add [Scroll Page](/steps/scroll-page) first. Scroll Page jumps once to the top, the bottom, a distance, or a picked element. It does not keep scrolling while an infinite-scroll page loads more.

**The image is marked partial.** Open it. A very long page, a page that changes during capture, images that are still loading, or a 30-second loading or capture budget can produce `-partial.png`. Capture the viewport instead, or keep the partial file. The job continues with the next URL.

**The page changed during capture.** A redirect, or moving the assigned tab yourself, can replace the document. Leave that tab alone during the run, then retry the affected URL.

**The address is not a normal web page.** Capture accepts `http` and `https` pages. Chrome's own pages, extension pages, and the Chrome Web Store fail this step.

**Chrome was closed.** Capturing stops when Chrome quits. A run that was in progress is scheduled again when Chrome starts.

Screenshots stay on this computer until you delete them. Download the files you need before uninstalling the extension or clearing its storage.
