DriversRecommendedOutdated drivers can make a good PC feel brokenScan driver issues before chasing fixes manually.Scan NowHalloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PC×
Skip to content
World desk8 min

How to Take Bulk Screenshots of Web Pages and Create a PDF Report

A practical guide to capturing a list of web pages, choosing between screenshots and PDFs, and assembling a reliable single-file report.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

To capture many web pages reliably, put their URLs in a list, automate one browser capture per URL, and save each result under a unique, ordered filename. Then assemble the individual outputs if you need one PDF report: bulk screenshot tools do not necessarily create a single combined document. Use screenshots for visual records; use browser PDF export when you want print-formatted pages.

Choose the output before you automate

Decide whether each URL should produce an image, a separate PDF, or a page in one compiled PDF report. These are different deliverables. A browser screenshot records the rendered page; browser PDF export lays the page out for printing and may follow print-specific CSS. If the final deliverable must be one PDF, plan a separate assembly step unless your chosen tool explicitly documents combining files.

As an Amazon Associate I earn from qualifying purchases.

  • Image per URL: Useful for visual review and comparisons. Choose viewport capture for a consistent screen-sized frame or full-page capture to include below-the-fold content. Full-page images can become very tall.
  • PDF per URL: Useful when each page should be printable or independently shareable. Check page breaks, margins, scale, color, and headers or footers.
  • One report PDF: Capture the pages, order the outputs, combine them with a suitable PDF workflow, then inspect the finished document. The browser tools described below export page PDFs, but do not establish a universal bulk screenshot-to-single-PDF command.

Method 1: Chrome Headless command line

Chrome Headless can save an individual page as a screenshot or PDF. Its command-line reference says that --screenshot saves a screenshot as screenshot.png in the current working directory, and --print-to-pdf saves a PDF as output.pdf. These flags capture one target page per invocation; a URL list still needs a loop or another orchestration layer. Chrome Headless command-line reference

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Capture one screenshot

With Chrome installed and available as google-chrome on your PATH, run:

#1 Best Overall
Sale
Acer Predator Helios Neo 18 AI Gaming Laptop | Intel Core Ultra 9 Processor 275HX | NVIDIA GeForce RTX 5070 Ti | 18" WQXGA 240Hz G-SYNC | 32GB DDR5 | 2TB Gen 4 SSD | Killer Wi-Fi 6E | PHN18-72-9474
  • Desktop-Level Performance, Anywhere: Get legendary gaming performance with the Intel Core Ultra 9 275HX processor, delivering ultra-smooth gameplay and future-ready AI (Up to 13 NPU TOPS). Offload tasks like background removal and audio optimization to the NPU for seamless streaming and gaming, while Intel Application Optimization enhances performance on classic titles.
  • Game-Changing Realism: Powered by NVIDIA Blackwell architecture, GeForce RTX 5070 Ti Laptop GPU unlocks the game changing realism of full ray tracing. Equipped with a massive level of 992 AI TOPS horsepower, the RTX 50 Series enables new experiences and next-level graphics fidelity. Experience cinematic quality visuals at unprecedented speed with fourth-gen RT Cores and breakthrough neural rendering technologies accelerated with fifth-gen Tensor Cores.
  • Supreme Speed. Superior Visuals. Powered by AI: DLSS is a revolutionary suite of neural rendering technologies that uses AI to boost FPS, reduce latency, and improve image quality. DLSS 4 brings a new Multi Frame Generation and enhanced Ray Reconstruction and Super Resolution, powered by GeForce RTX 50 Series GPUs and fifth-generation Tensor Cores.
  • The Ultimate in Ray Tracing and AI: NVIDIA RTX is the most advanced platform for full ray tracing and neural rendering technologies that are revolutionizing the ways we play and create. Over 700 games and applications use RTX to deliver realistic graphics and incredibly fast performance with cutting-edge AI features like DLSS Multi Frame Generation.
  • Immersive Depth and Detail: At 18 inches with a 16:10 aspect ratio, the pristine WQXGA screen offering vibrant colors with up to 100% DCI-P3 operates at a fast 240Hz refresh and 3ms overdrive response time. Alongside the suite of features from NVIDIA G-SYNC and NVIDIA Advanced Optimus, you're guaranteed that whatever's on-screen is a distinct viewing delight.
google-chrome --headless --screenshot=001-example-home.png --window-size=1440,1000 https://example.com/

The window size sets the screenshot viewport. A screenshot normally captures the viewport; use a browser automation API with full-page support when you need content beyond it.

Export one page as PDF

google-chrome --headless --print-to-pdf=001-example-home.pdf --no-pdf-header-footer https://example.com/

--no-pdf-header-footer omits Chrome’s print headers and footers. The PDF follows browser printing behavior, so check how the target site’s print styles affect page breaks and layout.

Run a URL list

For a small batch, put one URL per line in urls.txt and run a shell loop. This example creates one screenshot per URL and numbers files in input order:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
mkdir -p captures
awk 'NF { print }' urls.txt | nl -w3 -s' ' | while read -r number url; do
  google-chrome --headless --screenshot="captures/${number}-page.png" --window-size=1440,1000 "$url"
done

To create PDFs instead, replace the screenshot option with --print-to-pdf="captures/${number}-page.pdf" --no-pdf-header-footer. This basic loop is sequential. It does not automatically detect when every site-specific asynchronous element has finished rendering.

Control waiting carefully

Chrome documents --timeout to bound how long it waits before capture and --virtual-time-budget to advance time-dependent page code before printing. For example:

google-chrome --headless --timeout=10000 --virtual-time-budget=3000 --screenshot=001-example.png https://example.com/

These are timing controls, not proof that a page is complete. A fixed delay may waste time on a fast page or capture a slow page too early. Use a page-specific condition when the important content loads dynamically.

Method 2: Playwright for page-aware capture

Playwright is a good fit when the batch needs script-controlled navigation, waits, filenames, or both images and PDFs. Its Page API supports screenshots, including full-page screenshots, and PDF export. PDF output uses print media by default; emulate screen media before exporting if screen styling is the intended result. Playwright Page API · Playwright screenshots and PDF documentation

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Install Playwright

In a new Node.js project:

npm init -y
npm install playwright
npx playwright install chromium

Save the following as capture.mjs. It reads URLs from urls.txt, takes one full-page PNG for each, waits for the page’s load event, and names the files in input order.

Rank #3
Sale
msi Katana 15 HX 15.6” 165Hz QHD+ Gaming Laptop: Intel Core i9-14900HX, NVIDIA Geforce RTX 5070, 32GB DDR5, 1TB NVMe SSD, RGB Keyboard, Win 11 Home: Black B14WGK-016US
  • Intel Core i9 HX Power for Elite Gaming: Dominate demanding titles with the Intel Core i9-14900HX and its 24-core hybrid architecture, delivering fast load times, high FPS, and smooth multitasking.
  • GeForce RTX 5070 With Ray Tracing & DLSS 4: Powered by NVIDIA Blackwell, the RTX 5070 delivers stronger ray tracing, higher FPS, faster AI upscaling, and more responsive gameplay—ideal for competitive and cinematic gaming.
  • QHD 165Hz, 100% DCI-P3 for Ultra-Clear Combat: The QHD 165Hz display reveals more detail, reduces motion blur, and boosts visibility in fast-paced games while delivering richer, more accurate colors.
  • Cooler Boost 5 for Sustained Performance: Dual fans and a 5-heat-pipe share-pipe design keep the CPU and GPU cool, maintaining stable frame rates during long gaming marathons.
  • 4-Zone RGB Keyboard + Full Game-Ready Ports: Customize your setup with a 4-zone RGB keyboard and highlighted WASD keys. Includes USB-C Gen 2, HDMI up to 8K, multiple USB-A ports, RJ45, Wi-Fi 6E & Hi-Res Audio.
import { chromium } from 'playwright';
import { mkdir, readFile } from 'node:fs/promises';

const urls = (await readFile('urls.txt', 'utf8'))
  .split(/r?n/)
  .map((line) => line.trim())
  .filter(Boolean);

await mkdir('captures', { recursive: true });
const browser = await chromium.launch({ headless: true });

try {
  const page = await browser.newPage({ viewport: { width: 1440, height: 1000 } });
  for (const [index, url] of urls.entries()) {
    const number = String(index + 1).padStart(3, '0');
    try {
      await page.goto(url, { waitUntil: 'load', timeout: 30000 });
      await page.screenshot({ path: `captures/${number}-page.png`, fullPage: true });
      console.log(`Saved ${number}: ${url}`);
    } catch (error) {
      console.error(`Failed ${number}: ${url}`, error);
    }
  }
} finally {
  await browser.close();
}

Run it with node capture.mjs. The script uses a single browser page and processes URLs sequentially, which keeps the example straightforward and preserves order. For sites where the relevant content appears after the load event, replace or supplement that wait with a condition that matches the page—for example, waiting for a known content selector. Avoid assuming that network activity becoming idle means all site-specific content is ready.

Export page PDFs instead

Replace the screenshot call with a PDF export. The example below emulates screen media to avoid Playwright’s default print-media styling:

await page.emulateMedia({ media: 'screen' });
await page.pdf({
  path: `captures/${number}-page.pdf`,
  format: 'A4',
  printBackground: true,
  displayHeaderFooter: false
});

If the report should use print CSS, omit the screen-media emulation. Review output because a site’s print stylesheet and page-break rules can materially change the result. Playwright’s PDF export is for Chromium-based browsers.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Parallel capture and failure handling

The sequential example is easier to troubleshoot and reduces load on sites. If you need more throughput, use a bounded number of workers rather than launching an unrestrained browser for every URL. Keep each output filename tied to its input index, record failed URLs, and rerun only those failures. Parallel visits can increase resource use and may trigger rate limits or bot checks on the sites being captured.

Rank #4
15.6" Laptop with Win 11, N4020 CPU, 4GB RAM, 128GB, FHD 1080P Display
  • Vibrant 15.6" FHD IPS Display: Experience stunning visuals on a large 15.6-inch Full HD (1920x1080) IPS screen. With narrow bezels and wide viewing angles, this laptop offers an immersive experience for streaming movies, online classes, or working on documents with crystal-clear detail
  • Efficient Daily Performance: Powered by the Intel Celeron N4020 processor and 4GB LPDDR4 RAM, this notebook delivers reliable performance for web browsing, light multitasking, and school projects. The 128GB storage provides ample space for your essential files, photos, and apps
  • Modern Connectivity & PD Fast Charge: Equipped with a versatile Type-C PD 45W port for fast charging and high-speed data transfer. Combined with Dual-Band AC WiFi and Bluetooth, you’ll enjoy a stable and fast internet connection for seamless video calls and cloud-based work
  • Silent & Ultra-Portable Design: Featuring an advanced fanless cooling system, this laptop operates in total silence—perfect for libraries or late-night study sessions. Its sleek, lightweight body fits easily into backpacks, making it the ideal companion for students and commuters
  • Ready for Work & Play: Pre-installed with Windows 11 Home, offering a secure and user-friendly interface. Includes a HD webcam and high-quality speakers for clear communication. A practical choice for online learning, remote work, or everyday entertainment

Method 3: Utilities built for multiple URLs

webshot2

The webshot2 R package accepts a vector of URLs and can capture them in parallel, with output naming and viewport controls. Its PDF output uses browser printing; selector, clipping, expansion, and zoom options documented for image capture do not apply to PDF output. See the webshot2 manual for exact arguments and current usage.

shot-scraper

shot-scraper documents a multi workflow that maps URL and output entries, making it useful when you want a configured batch rather than writing the URL loop yourself. Consult the shot-scraper documentation for its configuration format and release-specific options.

Puppeteer

Puppeteer is another JavaScript browser-automation option. Chrome for Developers describes it as a high-level API for Chrome and Firefox, with uses including screenshots, PDFs, navigation, and UI automation. Use the Puppeteer documentation for current methods and version-specific options.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Make the batch reproducible

  1. Prepare a clean input list. Put one complete URL per line in a stable order. Remove blank lines and decide how to handle duplicate URLs.
  2. Choose capture dimensions and mode. Fix the viewport, browser version, and output type. Use full-page images only when the report benefits from a long continuous capture.
  3. Wait for the content that matters. A global timeout caps a wait but does not certify completeness. Prefer a page-specific selector or other meaningful readiness condition for dynamic pages.
  4. Map every input to a unique output. Include a zero-padded sequence number and a useful slug, such as 001-example-home.png. Keep a log mapping filenames to source URLs.
  5. Review PDF layout. Check print styling, margins, scale, background colors, page breaks, and header/footer settings.
  6. Assemble and inspect the report. If the requested output is one PDF, combine the page outputs in the intended order, then open the final file and check for blank pages, clipping, missing dynamic content, and readable text.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Or skip the browser setup

ScreenshotNeo is a website screenshot API and MCP server. For bulk captures, its API accepts up to 100 URLs per call; request PDF output when appropriate, or use an asynchronous job with signed webhooks for a workflow that needs job notifications. Each URL still produces a capture result: do not assume a batch automatically becomes one compiled report PDF.

Best Value
Sale
AKCHART 15.6'' AI Laptop with Office 365 12GB RAM 256GB SSD Win 11 Laptops | 7000mAh Battery, IPS FHD, 180°Viewing, Quad-Core Processor, Type-C, WiFi5, Portable Thin Business Student Laptops, Light Gray
  • Stunning 15.6" FHD IPS Display: Experience crisp 1920x1080 resolution on this 15.6 inch laptop with an IPS panel that delivers wide viewing angles and vivid colors. The narrow-bezel design maximizes screen real estate for comfortable viewing on this Win 11 laptop, whether you're studying or working.
  • Celeron J4105 Processor & 256GB SSD: Powered by a reliable Celeron J4105 processor paired with 12GB DDR4 memory and a fast 256GB M.2 SSD. This laptop computer supports SSD expansion up to 2TB and TF card expansion up to 1TB, so your storage grows with your needs. Delivers smooth multitasking for daily productivity.
  • AI-Powered Win 11 Laptop: Built-in AI features enhance your productivity with smart assistance for writing, summarizing, and task management. Pre-installed with Win 11 and includes Office 365 subscription. This student laptop is backed by 1-year warranty and 24/7 customer support.
  • All-Day 7000mAh Battery & 180° Hinge: The high-capacity 7000mAh battery keeps this laptop powered through long classes or meetings. The 180-degree lay-flat hinge lets you share your screen effortlessly during presentations. This durable laptop computer adapts to your dynamic workflow.
  • Versatile Connectivity Hub: Equipped with USB 3.2, Type-C, Mini HDMI, and 3.5mm audio jack to connect all your peripherals. Stay online anywhere with high-speed 5G WiFi and Bluetooth 4.2. This college laptop keeps you connected at home, in the library, or on the go.

One GET request captures a URL. Install no browser locally for this example; get an API key and replace the target URL as needed. See the ScreenshotNeo API documentation for parameters and response details.

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

ScreenshotNeo accepts cookie and consent banners before capture and removes more than 60 known consent platforms, newsletter popups, and chat widgets; each of those steps can be turned off. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and response headers identify the page verdict and billing status. Its MCP server provides take_screenshot, get_page_info, and capture_pdf tools for Claude, Cursor, and other MCP clients. The Free plan includes 1,000 screenshots per month without a card; paid plans start at $5 for 3,000 shots.

Sign up for 1,000 free screenshots a month, with no card required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Troubleshooting bulk captures

  • Some outputs are missing. Check the command’s exit status or the script’s error log. A navigation timeout or invalid URL can prevent a file from being saved; keep failed URLs in a retry list rather than silently skipping them.
  • The page is blank or incomplete. The capture may have happened before client-rendered content appeared. Wait for the relevant element or page state, and verify the page in a normal browser. A longer fixed timeout alone does not guarantee completion.
  • Lazy-loaded images are absent. Full-page capture is not a universal guarantee that every site loads all deferred content. Test the page and choose an appropriate scrolling or page-specific readiness strategy in your automation.
  • The screenshot is too tall. Switch to viewport capture or capture selected sections if the report requires a compact, comparable frame.
  • The PDF looks different from the browser. PDF export uses print layout by default in Playwright. Check print CSS; emulate screen media when screen styling is required, and inspect page breaks and margins.
  • Files are overwritten or out of order. Use unique numbered filenames derived from the input position, not a shared default name, and preserve the URL-to-file mapping.
  • Some sites block or throttle the batch. Reduce concurrency, space out requests, and follow the site’s access rules. A screenshot tool cannot guarantee that every website will permit automated access.

FAQ

Does taking bulk screenshots automatically create one PDF?

No. Batch capture commonly creates separate image or PDF files. Treat combining those files into a single report as a distinct step unless the tool explicitly documents a combined-report feature.

Should I use a screenshot or PDF for a visual audit?

Use an image when you need a faithful visual record at a defined viewport. Use PDF when print pagination or a printable document is more important; browser print styles can make its appearance differ from the on-screen page.

Can I capture web pages that require login?

Browser automation can work with authenticated sessions, but the examples here do not configure credentials or session state. Handle access securely, avoid placing secrets in shared scripts or logs, and verify the site permits the capture.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Outdated Drivers Are Slowing You DownFree scan - exact matches
PC Slower Than It Used to Be?Free scan - under a minute

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.