What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Choose an image when you need a visual snapshot for a page, design review, thumbnail, or image-processing workflow. Choose a PDF when the deliverable should behave like a paginated document for printing or document sharing. They are different browser output paths, not interchangeable file extensions. Puppeteer’s screenshot API captures rendered pixels, while Page.pdf() uses print CSS media by default, so a PDF can look different from the page on screen.
The right choice depends on transparency, detail, pagination, screen-versus-print styling, file delivery, and how the result will be viewed. This guide shows how to decide, how to generate each format with Puppeteer, and how to avoid common surprises.
Image or PDF: decide by the deliverable
| Need | Better starting point | Why |
|---|---|---|
| A visual snapshot for a design review or gallery | Image | It preserves the rendered page as a single visual asset. |
| A thumbnail, social preview, or image-processing input | Image | Image tools and HTML elements can consume it directly. |
| A document people will print or page through | PDF output is naturally paginated and print-oriented. | |
| A long page where page boundaries matter | Pages, margins, paper size, and orientation are explicit. | |
| A transparent capture for compositing | Image | Puppeteer exposes an omitBackground screenshot option; verify support in your workflow. |
| Exact screen styling and colors | Image, or a screen-media PDF | PDF generation defaults to print media and may apply print styles. |
This is practical guidance rather than a formal file-format standard. Inspect a sample from your actual page, browser version, and capture settings before committing to a pipeline.
What Puppeteer actually does
Screenshots are image captures
Puppeteer’s ScreenshotOptions documentation lists png as the default image type. The type can also be set to another supported image format, and a path extension can infer the type when a path is supplied. The quality option applies to formats that support it; it does not apply to PNG.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Fix the driver behind crashes, sound loss and screen glitches3Clear out junk files and repair common Windows errors#1 Best Overall
- PORTABLE SCANNER FOR USE ON-THE-GO — The fastest and lightest mobile single-sheet-fed compact document scanner in its class¹
- QUICK DOCUMENT SCANNING ― This Epson ultra-fast scanner scans a single page as quickly as 5.5 seconds²; Windows and Mac compatible
- VERSATILE PAPER HANDLING ― Portable scanner scans documents up to 8.5 x 72 in; Also easily digitizes receipts and ID cards to make accounting, bookkeeping, and organizing simpler
- INTUITIVE, HIGH-SPEED SOFTWARE — Epson ScanSmart Software³ is a smart tool allowing you to easily scan, review, and save; Stay organized easily with the help of this Epson scanner
- EASY SETUP — USB-powered connect to your computer for quick and simple scanning; No batteries or external power supply required to operate portable document scanner; Standard Connectivity: USB 2.0
Use fullPage: true when you need the page’s full scrollable area rather than only the viewport. Full-page behavior still depends on page state: lazy images, animations, consent dialogs, and content loaded after your wait condition can change the result.
PDFs use print CSS by default
Puppeteer’s Page.pdf() documentation states that it “Generates a PDF of the page with the print CSS media type.” Print styles can hide navigation, alter layout, or change colors. If the PDF should follow screen styles, call page.emulateMediaType('screen') before page.pdf().
Print color adjustment can also affect whether CSS colors are reproduced exactly. Set printBackground: true when backgrounds are part of the intended document, then review the result because page breaks and print rules can still change the composition.
Choosing PNG, JPEG, WebP, or AVIF for an image
PNG
PNG is Puppeteer’s documented screenshot default. It is a sensible starting point when you want the default behavior, lossless-looking interface detail, or a workflow that needs the screenshot background omitted where supported. Do not interpret the default as proof that PNG is always the smallest or best file.
The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →JPEG
JPEG is useful when your downstream workflow accepts a lossy image and you want to control quality. Puppeteer’s quality setting applies to formats such as JPEG, not PNG. The appropriate quality value depends on the page, text density, and tolerance for artifacts; inspect the output rather than assuming a universal setting.
WebP and AVIF
Chrome for Developers discusses WebP and AVIF as modern web-image delivery formats and notes that compatibility and fallback planning matter. That guidance is about serving images, not a benchmark proving that either format always produces the best website capture. If you publish captures in these formats, confirm that every target viewer, CMS, browser, and image-processing tool accepts them.
Rank #2
- FAST SPEEDS - Scans color and black and white documents a blazing speed up to 16ppm (1). Color scanning won’t slow you down as the color scan speed is the same as the black and white scan speed.
- ULTRA COMPACT – At less than 1 foot in length and only about 1. 5lbs in weight you can fit this device virtually anywhere (a bag, a purse, even a pocket).
- READY WHENEVER YOU ARE – The DS-640 mobile scanner is powered via an included micro USB 3. 0 cable allowing you to use it even where there is no outlet available. Plug it into you PC or laptop and you are ready to scan.
- WORKS YOUR WAY – Use the Brother free iPrint&Scan desktop app for scanning to multiple “Scan-to” destinations like PC, Network, cloud services, Email and OCR. (2) Supports Windows, Mac and Linux and TWAIN/WIA for PC/ICA for Mac/SANE drivers. (3)
- OPTIMIZE IMAGES AND TEXT – Automatic color detection/adjustment, image rotation (PC only), bleed through prevention/background removal, text enhancement, color drop to enhance scans. Software suite includes document management and OCR software. (4)
For any image format, check small text, thin borders, gradients, transparency, and file size at the dimensions your readers will receive. A format that looks excellent at native size may show artifacts after resizing or recompression.
Generate an image with Puppeteer
Install Puppeteer in a Node.js project with npm install puppeteer. This example waits for the page to settle, captures the complete page as PNG, and writes it to disk.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallconst puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
try {
const page = await browser.newPage();
await page.setViewport({ width: 1440, height: 900, deviceScaleFactor: 1 });
await page.goto('https://example.com', { waitUntil: 'networkidle2', timeout: 90000 });
await page.screenshot({
path: 'site.png',
type: 'png',
fullPage: true,
omitBackground: false
});
} finally {
await browser.close();
}
})();
Change type and the file extension together when your installed Puppeteer version supports the chosen format. For a viewport-only image, remove fullPage or set it to false. If a cookie banner or modal is part of the capture, dismiss it explicitly; if it is not, hide or remove it before the screenshot.
Generate a PDF with Puppeteer
The following script creates a letter-size PDF using screen media, backgrounds, margins, and explicit print settings. Remove emulateMediaType('screen') when print CSS is the desired result.
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
try {
const page = await browser.newPage();
await page.setViewport({ width: 1440, height: 900, deviceScaleFactor: 1 });
await page.goto('https://example.com', { waitUntil: 'networkidle2', timeout: 90000 });
await page.emulateMediaType('screen');
await page.pdf({
path: 'site.pdf',
format: 'Letter',
landscape: false,
printBackground: true,
margin: { top: '0.5in', right: '0.5in', bottom: '0.5in', left: '0.5in' }
});
} finally {
await browser.close();
}
})();
For a document intended for printing, choose paper size, orientation, margins, and page ranges deliberately. Add print-specific CSS such as @page and break rules, then inspect every page for clipped content, headings stranded at the bottom, missing backgrounds, and unexpected blank pages.
Screen capture versus print rendering
When an image is the faithful visual record
A screenshot records what the browser rendered in the selected viewport. It is usually the safer choice for pixel-level UI comparison, visual regression review, and sharing the appearance of a responsive layout at a known width.
Free tools Windows power users keep installed
One-click scans. No signup required.
When a PDF is the better document
A PDF gives you pages rather than one potentially very tall bitmap. That makes paper size, page ranges, margins, and landscape orientation useful controls. It does not guarantee an archival, accessible, legally compliant, or dynamically complete record; those properties require separate standards and validation.
Rank #3
- STAY ORGANIZED – Easily convert your paper documents into digital formats like searchable PDF files, JPEGs, and more.Power Consumption : 2.5W or less (Energy Saving Mode: 0.7W). Suggested Daily Volume : 500 scans..Does it contain liquid: no
- CONVENIENT AND PORTABLE –lightweight and small in size, you can take the scanner anywhere from home offices, classrooms, remote offices, and anywhere in between
- HANDLES VARIOUS MEDIA TYPES – Digitize receipts, business cards, plastic or embossed cards, reports, legal documents, and more
- FAST AND EFFICIENT – No technical hurdles or complicated setups here; easily scan both sides of a document at the same time, in color or black-and-white, at up to 12 pages-per-minute, and with a 20 sheet automatic feeder
- BROAD COMPATIBILITY – Works with both Windows and Mac devices, be it laptop or computer
When you need both
Many workflows produce a screen-style image for visual review and a print-style PDF for distribution. Keep the capture conditions recorded: URL, viewport, device scale, browser version, media type, wait condition, and timestamp. Without those inputs, a later difference may be impossible to explain.
Reliability and performance checklist
- Wait for the state you actually need: navigation completion alone may be too early for client-rendered content or lazy images.
- Freeze or disable animations when comparing captures; otherwise two captures can differ without a code change.
- Use a deterministic viewport and device scale factor. Responsive breakpoints can change both layout and pagination.
- Check authentication, redirects, consent dialogs, and rate limits before diagnosing a format problem.
- For full-page images, watch memory use on very long pages. A PDF may be more practical when page layout is the real requirement.
- Review the output file itself, not only its extension: verify dimensions, page count, transparency, colors, fonts, and missing assets.
There is no format-independent file-size or quality winner established by the documentation. Measure representative pages from your own site, especially pages containing charts, text-heavy tables, gradients, and large photos.
Common failures and fixes
The PDF does not look like the browser
Cause: print media CSS is active by default. Fix: call page.emulateMediaType('screen') before page.pdf(), or deliberately edit your print stylesheet. If colors are wrong, enable printBackground and inspect print-color behavior.
Content is missing from a screenshot
Cause: lazy loading, a premature wait, a blocked request, or a page that changes after capture. Fix: wait for a specific selector or network condition, scroll or trigger lazy content when appropriate, and verify that the required resources loaded.
PNG quality cannot be changed
Cause: Puppeteer documents quality as inapplicable to PNG. Fix: keep PNG for the lossless workflow, or select a quality-capable format supported by your installed version and validate text and gradients.
Transparent output is opaque
Cause: the page or platform does not support the requested background omission, or an element paints its own background. Fix: use omitBackground where supported, remove page-level backgrounds in a capture-only stylesheet, and verify the alpha channel in an image editor.
Rank #4
- IRIScan Express, portable scanner : scans color and black and white documents a blazing speed up to 8ppm simplex. Color scanning won’t slow you down as the color scan speed is the same as the black and white scan speed.
- IRIScan Express mobile scanner is powered via an included micro USB 2. 0 cable allowing you to use it even where there is no outlet available. Plug it into you PC or laptop and you are ready to scan. USB cable provided. AC Adapter not provided and not needed.
- IRIScan flatbed scanner uses a simplex scanning mode allows for quick and straightforward scanning of single-sided documents. IRIScan with its full portable features is the ideal document scanners for computers.
- IRIScan document scanner : Versatile scanning capabilities, including scanning to Word, PDF, and Excel formats with companion software provided Readiris OCR
- Receipt scanner and card scanner with Additional features include scanning business cards directly to Outlook, photo scanning, and receipt scanning for efficient document management
Pages break in awkward places
Cause: print layout, fixed-height elements, or missing break rules. Fix: add print CSS and @page settings, avoid relying on viewport-only dimensions, and test several content lengths.
Recommended Free Tools
The output format is rejected by a viewer
Cause: the viewer, CMS, or browser lacks support for the selected image format. Fix: provide a compatible fallback, or choose PNG/JPEG for that delivery path. Chrome’s modern-format guidance specifically treats compatibility and fallback as considerations.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Or skip the browser setup: ScreenshotNeo
ScreenshotNeo is a website screenshot API and MCP server. It handles consent banners before capture and removes more than 60 known consent platforms, newsletter popups, and chat widgets; each cleanup step can be disabled. Only clean shots are billed: bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits cost nothing, and the response identifies the result with X-Page-Verdict and X-Billed headers. It supports PNG, JPEG, WebP, PDFs, full-page captures, CSS-selector elements, device presets, custom viewports, retina scale, print settings, screen controls, waits, headers, cookies, blocking rules, signed links, asynchronous jobs, webhooks, bulk capture, and an MCP server for Claude, Cursor, and other MCP clients.
Use the API when you want a repeatable capture without installing and maintaining a browser:
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
See the ScreenshotNeo documentation for format and PDF parameters. Equivalent Python and Node.js requests are:
import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
There is a free allowance of 1,000 screenshots per month with no card. Paid plans start at $5 for 3,000 shots; Growth is $15 for 15,000, Pro $39 for 60,000, Scale $99 for 250,000, and Business $249 for 1,000,000. Yearly billing gives two months free, and every feature is on every plan. Sign up free to start capturing.
FAQ
Can I turn a screenshot into a PDF later?
Yes, but that creates a document containing the image rather than a newly laid-out web page. If selectable text, links, or reflowable page layout matter, generate the PDF from the page itself.
Best Value
- Scanner type: Document
- Connectivity technology: USB
- With Auto Scan Mode, the scanner automatically detects what you're scanning
- Digitize documents and images
Should a full-page website always be a PDF?
No. A full-page image is appropriate for visual comparison or image workflows. Choose PDF when page navigation, paper settings, or document sharing is the requirement.
Does a PDF prove exactly what a visitor saw?
No. Print media, page settings, dynamic content, fonts, and timing can differ from a visitor’s screen. Record capture conditions and validate the output for your purpose.
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Frequently Asked Questions
Which format should I use for a visual regression baseline?
Use a deterministic screenshot with a fixed viewport, device scale, wait condition, and image type; review the resulting pixels rather than relying on a file extension.
How do I make a Puppeteer PDF match screen CSS?
Call page.emulateMediaType('screen') before page.pdf(), then review backgrounds, colors, and page breaks.
Is WebP automatically better than PNG for captures?
No universal capture benchmark is established here. WebP may suit web delivery, but verify compatibility and the visual result for your pages.
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.

