The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →For free, repeatable bulk website screenshots on a Mac, Playwright is the best-supported choice if you are comfortable scripting. It can capture full pages, the viewport, or a selected element and save images to files. If you prefer a graphical app, Shotomatic documents a convenient URL-list workflow, but its reviewed page does not establish that it is free. Free browser tools such as Site-Shot and WebsiteScreen are useful for occasional single-page captures, not proven bulk workflows.
Best options by workflow
| Tool | Best for | What the reviewed documentation supports | Free and bulk limits |
|---|---|---|---|
| ScreenshotNeo | Hosted API capture and AI-agent workflows | One GET request can return a screenshot or PDF; offers an MCP server and batch capture. | Free plan: 1,000 shots per month without a card. Paid plans start at $5 for 3,000. See ScreenshotNeo. |
| Playwright | Free, repeatable batches when scripting is acceptable | Viewport, element, and full-page screenshots; PNG, JPEG, or WebP; scale options and file output. See the Playwright screenshot documentation. | The screenshot documentation describes capture features, not a beginner-focused batch tutorial. The cited page does not establish a license or pricing claim. |
| Shotomatic Website Capture | A Mac GUI for pasting a list of URLs | Per-URL settings, batch review, and export as individual files, ZIP, PDF, or MP4. See Shotomatic Website Capture. | The reviewed workflow page does not verify free pricing. Batches are started manually; unattended scheduling is not documented. |
| Site-Shot browser tool | Occasional capture in a browser without signup | PNG, JPEG, or WebP; viewport, full page, and device emulation. Its product page states a maximum full-page height of 20,000 px, or 16,383 px for WebP. See Site-Shot. | Free browser capture, but the reviewed page documents single-URL input rather than a URL-list batch workflow. |
| WebsiteScreen browser tool | Occasional free browser capture | PNG or JPEG; viewport and full-page capture, device presets, and custom dimensions. See WebsiteScreen. | Free without signup; its reviewed browser page does not document a list-based bulk UI. |
| Screely | Polishing or redacting screenshots after capture | Frames, annotations, blur/redaction, and PNG/PDF exports. See Screely. | Free editor, but not a documented multi-URL capture tool. |
| Site-Shot API | Hosted API capture when a paid service is acceptable | Chromium-based full-page screenshots. See its API quickstart. | The quickstart states plans start at $5/month for 2,000 screenshots and that there are no free API credits. Verify current pricing before purchasing. |
Choose based on the job
Free repeatable batches
Choose Playwright when you can run a script and want control over filenames, page selection, and capture settings. A script can loop through a URL list and save one image per page. You supply the batch logic; Playwright’s screenshot page explains capture behavior rather than providing a complete bulk-capture tutorial.
As an Amazon Associate I earn from qualifying purchases.
No-code URL-list capture
Shotomatic’s Website Capture page is the clearest documented Mac GUI match for pasting multiple URLs, adjusting settings per page, reviewing the batch, and exporting results. The reviewed page does not establish a free price or trial, so check those details before treating it as a free option. It also says batches must be started manually rather than scheduled unattended.
One-off captures
Site-Shot and WebsiteScreen let you enter a URL in a browser and capture a page for free without signup. Their reviewed pages establish single-URL capture, not free batch ingestion. Do not assume that an API or an ability to automate individual captures means the browser page accepts a URL list.
#1 Best Overall
Post-capture editing
Screely is useful when you already have an image and want to add a frame, annotate it, or obscure details. It is not a substitute for a tool that visits and captures a list of websites.
Run a URL-list batch with Playwright on macOS
This Node.js example reads one URL per line from urls.txt, captures each page’s full scrollable height as a PNG, and writes files into a screenshots directory. It launches Chromium locally; the first run downloads the browser binary through Playwright.
1. Install Node.js and Playwright
In Terminal, create a project and install Playwright:
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →Rank #2
- Mix an audio, music and voice tracks
- Record single or multiple tracks simultaneously
- Intuitive tools to split, trim, join, and many other editing features
- Loaded with audio effects including EQ, compression, reverb, and more.
- Load an audio file and export to all popular audio formats from studio quality wav to high compression formats
mkdir website-captures
cd website-captures
npm init -y
npm install playwright
npx playwright install chromium
2. Create the URL list
Save a file named urls.txt in the project directory, with one absolute URL per line. Blank lines and lines beginning with # are ignored.
https://example.com
https://developer.mozilla.org/
# Add one URL per line
3. Save and run the batch script
Save this as capture.mjs. Each URL gets its own numbered output file, so duplicate hostnames do not overwrite one another.
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(line => line && !line.startsWith('#'));
await mkdir('screenshots', { recursive: true });
const browser = await chromium.launch({ headless: true });
try {
const page = await browser.newPage({
viewport: { width: 1440, height: 900 },
deviceScaleFactor: 1,
});
for (const [index, url] of urls.entries()) {
const filename = `screenshots/${String(index + 1).padStart(3, '0')}.png`;
try {
const response = await page.goto(url, {
waitUntil: 'networkidle',
timeout: 45_000,
});
await page.screenshot({ path: filename, fullPage: true });
console.log(`${response?.status() ?? 'no response status'} ${url} -> ${filename}`);
} catch (error) {
console.error(`FAILED ${url}: ${error.message}`);
}
}
} finally {
await browser.close();
}
Run it with:
node capture.mjs
The script uses a single page sequentially, which avoids opening an unbounded number of browser tabs. A navigation can fail while later URLs still proceed. A failure is printed to the terminal; the script does not create an image for that URL.
Rank #3
- Easily record quick videos of your screen and camera that offer the same connection as a meeting without the calendar wrangling
- Draw on your screen as you record video with customizable arrows, squares, and step numbers to emphasize important information
- Provide clear feedback and explain complex concepts with easy-to-use professional mark-up tools and templates
- Instantly create a shareable link where your viewers can leave comments and annotations or upload directly to the apps you use every day
- Version Note: This listing is for Snagit 2024. Please note that official technical support and software updates for this version are scheduled to conclude on December 31, 2026.
Adjust capture fidelity and batch behavior
Full page, viewport, or one element
- Full page:
fullPage: truecaptures the full scrollable page, which is suitable for page reviews but may create very tall images. - Viewport only: omit
fullPageor set it tofalseto capture just the visible area at the configured viewport dimensions. - One element: locate it with a CSS selector and call
locator.screenshot({ path: filename }). This is useful for a chart or component; the selector must exist and be visible.
Image type and resolution
Playwright supports PNG, JPEG, and WebP screenshots. The output format can be inferred from the filename extension or set with the screenshot type option. JPEG and WebP support a quality setting; PNG does not use that lossy quality control. Use deviceScaleFactor to choose CSS-pixel versus higher device-pixel rendering: a factor of 2 produces denser output and larger files. Check the Playwright screenshot documentation for exact option behavior.
Waits and dynamic pages
The example waits for networkidle, which can be unsuitable for pages that keep network connections open or refresh content continuously. For those pages, wait for domcontentloaded or load, then add a page-specific wait such as await page.locator('.content-ready').waitFor() or a short page.waitForTimeout(1500). A fixed delay is simple but cannot guarantee that a particular widget or image has finished rendering.
Responsive views and cookies
Change the viewport width and height to capture desktop, tablet, or mobile layouts; use a separate browser context when you need different cookies or isolated sessions. Pages behind login may require adding authentication cookies or completing sign-in in an authorized context. Respect site access rules and avoid capturing information you are not permitted to access.
Rank #4
- Create a mix using audio, music and voice tracks and recordings.
- Customize your tracks with amazing effects and helpful editing tools.
- Use tools like the Beat Maker and Midi Creator.
- Work efficiently by using Bookmarks and tools like Effect Chain, which allow you to apply multiple effects at a time
- Use one of the many other NCH multimedia applications that are integrated with MixPad.
Large lists and repeatability
For hundreds of URLs, keep concurrency modest, record each URL’s result and status, and rerun failed URLs separately. A sequential loop is slower than parallel workers but easier on memory and less likely to overload sites or the Mac. Consider splitting long lists into smaller files and retaining a mapping file of URL, filename, timestamp, and outcome when the images must be auditable.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Performance, privacy, and cost considerations
- Local versus hosted rendering: Playwright runs Chromium on the Mac in this example. Site-Shot is a hosted service; do not infer its data-handling terms from the fact that it is hosted—review the provider’s current terms if page content is sensitive.
- Batch time: total runtime depends on network response, page scripts, waits, and image loading. The available documentation supplies no comparative speed measurements, so there is no defensible speed ranking among these tools.
- Storage: full-page and high-scale captures can be large. JPEG or WebP may reduce file size where supported; PNG preserves lossless image data.
- Cost: free single-page browser capture is different from an API’s batch economics. Site-Shot API’s cited quickstart lists paid plans only, while ScreenshotNeo has a free monthly plan and published paid tiers.
- Unattended runs: a script can be launched on a schedule using macOS scheduling tools, but the example itself is a manually invoked process. Shotomatic’s reviewed page explicitly describes manual batch starts, not background scheduling.
Or skip the browser setup
ScreenshotNeo is a hosted screenshot API and MCP server for developers. Its API accepts one GET request for a URL and returns an image or PDF. The example below requests a WebP capture of a public page; see the ScreenshotNeo API documentation for authentication and options.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
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/consent banners and removes more than 60 known consent platforms, newsletter popups, and chat widgets before capture; these steps can be turned off. Bot checks/CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and responses identify page verdict and billing status. Its MCP server provides take_screenshot, get_page_info, and capture_pdf for Claude, Cursor, and other MCP clients. The free plan includes 1,000 shots a month without a card; paid plans start at $5 for 3,000 shots. Sign up for ScreenshotNeo’s free plan.
Frequently Asked Questions
Can Playwright save screenshots as PDFs?
The screenshot options discussed here save image formats. Playwright’s page-printing workflow is separate from screenshot capture; consult its current PDF documentation for details.
Best Value
- The 2ID card software streamlines various card production tasks such as ID card design, printing, and encoding.
- It's a versatile product suitable for various organizations, including universities, government agencies, large corporations, and those in need of registration, identification, and access control.
- Start creating custom ID cards seamlessly with 2ID card software.
Can I capture a page that requires login?
Yes, if you are authorized to access it and configure the browser context with the required authenticated session. Avoid putting credentials directly into a shared script or URL list.
Does a free browser screenshot tool automatically support bulk capture?
No. A free single-URL capture page is not evidence of a URL-list batch workflow; confirm that exact capability before relying on it.
Free tools Windows power users keep installed
One-click scans. No signup required.
Quick Recap
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.




