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

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

A white strip at the bottom of a Puppeteer screenshot is usually a clue to investigate, not a single known Puppeteer error. First confirm whether you meant to capture the viewport or the full page. Then compare the screenshot dimensions with the document’s rendered height, wait for the content you need, and test a device scale factor of 1. If the issue remains, check that your Puppeteer and Chromium versions are a supported pair.

1. Confirm whether you want a viewport or full-page screenshot

page.screenshot() captures the current viewport by default. Set fullPage: true to capture the full page. The current Puppeteer ScreenshotOptions documentation lists fullPage as defaulting to false.

// Capture the visible viewport
await page.screenshot({ path: 'capture.png' });

// Capture the full page
await page.screenshot({ path: 'capture.png', fullPage: true });

If you expected only the visible area but enabled fullPage, the resulting image may include page space below the content you were looking at. If you expected the entire document but left the default in place, you will get only the viewport. Use the Puppeteer screenshot guide for the documented page and element screenshot patterns.

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.

2. Measure the document and screenshot dimensions

Before changing capture options, inspect the page’s scrollable height and visible viewport height. This helps distinguish an oversized document from a capture-region mismatch.

#1 Best Overall
Philips 24 Inch Computer Monitor FHD 100Hz VA VESA Flicker-Free, 241V8LB
  • CRISP CLARITY: This 23.8″ Philips V line monitor delivers crisp Full HD 1920x1080 visuals. Enjoy movies, shows and videos with remarkable detail
  • INCREDIBLE CONTRAST: The VA panel produces brighter whites and deeper blacks. You get true-to-life images and more gradients with 16.7 million colors
  • THE PERFECT VIEW: The 178/178 degree extra wide viewing angle prevents the shifting of colors when viewed from an offset angle, so you always get consistent colors
  • WORK SEAMLESSLY: This sleek monitor is virtually bezel-free on three sides, so the screen looks even bigger for the viewer. This minimalistic design also allows for seamless multi-monitor setups that enhance your workflow and boost productivity
  • A BETTER READING EXPERIENCE: For busy office workers, EasyRead mode provides a more paper-like experience for when viewing lengthy documents
const dimensions = await page.evaluate(() => ({
  viewportHeight: window.innerHeight,
  documentHeight: document.documentElement.scrollHeight,
  bodyHeight: document.body ? document.body.scrollHeight : null,
  viewportWidth: window.innerWidth
}));
console.log(dimensions);

Compare the reported height with the PNG’s pixel dimensions. If the document itself extends farther than the content you expect, inspect the page layout rather than trying to crop it away with screenshot options:

  • Look for bottom padding or margin, an empty footer, or a container with excess height.
  • Check positioned or fixed elements and responsive CSS at the viewport size used by Puppeteer.
  • Repeat at the exact same viewport and device scale factor so you are comparing like with like.

These are diagnostic checks, not a proven cause for every white strip. Puppeteer’s full-page option captures the full page region; the specific cause in an individual site depends on its layout and capture setup.

3. Wait for the content that must appear

Navigation completing does not guarantee that every lazy-loaded image, iframe, or other component has rendered. An older Puppeteer issue documented missing content with lazy-loaded images and an iframe, even when waiting for network activity to settle. See Puppeteer issue #3202.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #2
Philips 22 Inch Computer Monitor FHD 100Hz VA VESA Flicker-Free, 221V8LB
  • CRISP CLARITY: This 22 inch class (21.5″ viewable) Philips V line monitor delivers crisp Full HD 1920x1080 visuals. Enjoy movies, shows and videos with remarkable detail
  • 100HZ FAST REFRESH RATE: 100Hz brings your favorite movies and video games to life. Stream, binge, and play effortlessly
  • SMOOTH ACTION WITH ADAPTIVE-SYNC: Adaptive-Sync technology ensures fluid action sequences and rapid response time. Every frame will be rendered smoothly with crystal clarity and without stutter
  • INCREDIBLE CONTRAST: The VA panel produces brighter whites and deeper blacks. You get true-to-life images and more gradients with 16.7 million colors
  • THE PERFECT VIEW: The 178/178 degree extra wide viewing angle prevents the shifting of colors when viewed from an offset angle, so you always get consistent colors

Wait for a meaningful element or asset before the screenshot instead of assuming a fixed delay guarantees readiness:

await page.goto('https://example.com', { waitUntil: 'networkidle2' });
await page.waitForSelector('.report-content');
await page.screenshot({ path: 'capture.png', fullPage: true });

Replace .report-content with a selector that appears only when the content you need is present. If a specific image matters, wait for that image to finish loading:

await page.waitForFunction(() => {
  const image = document.querySelector('.hero-image');
  return image && image.complete && image.naturalWidth > 0;
});

Use a selector or condition that matches the page you are capturing; a generic delay can make the capture slower without proving that the required content is ready.

Rank #3
Sale
Dell 24 Monitor - SE2426H - 23.8-inch FHD (1920x1080) 144Hz 1ms Display, in-Plane Switching (IPS) Technology, AMD FreeSync™, TÜV 3-Star 2X HDMI, Tilt
  • Clear visuals. Fluid motion: A 144Hz refresh rate and 1ms MPRT deliver smooth, tear‑free motion across work, gaming, and streaming for clearer, more fluid viewing.
  • Eye comfort: TÜV Rheinland 3‑star* certification reduces harmful blue light while preserving stunning color quality without compromise. *TÜV Rheinland 3-star eye comfort certification.
  • Wide viewing angle: Get consistent views across a wide 178° /178° viewing angle.
  • In-Plane Switching (IPS): See excellent color accuracy and consistency across wide viewing angles with In-plane Switching (IPS) technology.
  • Ultra-thin bezels: Maximize your viewing experience with thin bezels.

4. Test device scale factor without changing other variables

Run a controlled comparison with deviceScaleFactor: 1. Keep the URL, viewport, Puppeteer version, browser, and screenshot options identical; change only the scale factor. For example:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
await page.setViewport({ width: 1280, height: 800, deviceScaleFactor: 1 });
await page.screenshot({ path: 'scale-1.png', fullPage: true });

A 2018 report described a site-specific white screenshot with a device scale factor of 2, but it does not establish that scale factor 2 is generally faulty or that setting 1 will fix other sites. See Puppeteer issue #3169. Treat the comparison as a diagnostic test, not a universal workaround.

5. Verify Puppeteer and Chromium are compatible

Record the browser version and check it against the Puppeteer release you installed:

Rank #4
Sale
Samsung 27" Essential S3 (S36GD) Series FHD 1800R Curved Computer Monitor
  • CURVED FOR ENHANCED ENGAGEMENT: An immersive viewing experience with a curved monitor that wraps more closely around your field of vision; It creates a wider view, enhancing depth perception and minimizing peripheral distraction
  • SMOOTH PERFORMANCE FOR SEAMLESS CONTENT: Stay in the action when playing games, watching videos, or working on creative projects; The 100Hz refresh rate reduces lag and motion blur so you don't miss a thing in fast-paced moments¹
  • MORE GAMING POWER: Gain the edge with optimizable game settings; Color and image contrast can be adjusted to see scenes more vividly and spot enemies hiding in the dark; Game Mode adjusts any game to fill the screen so you can view every detail²
  • KEEP IT EASY ON THE EYES: Care for your eyes and stay comfortable, even during long sessions; Advanced eye comfort technology certified by TÜV reduces eye strain by minimizing blue light and reducing irritating screen flicker²
  • INCREASED VERSATILITY: Connect to more; Plug devices straight into your monitor for increased flexibility, making your computing environment even more convenient
console.log(await browser.version());

A 2023 issue traced a reported problem to Puppeteer 18.1.0 being used with Chromium 119, which that older Puppeteer release did not support. The incident is a reason to verify the pairing, not evidence that every white strip is a version mismatch. See Puppeteer issue #11514.

Use the compatibility information for your installed Puppeteer release and avoid assuming that an independently installed Chromium version will work with an older Puppeteer package.

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

6. Use transparency only to identify the background

Puppeteer’s screenshot background is white by default. Setting omitBackground: true hides that default and allows transparency:

Best Value
Sale
Sceptre New 22-Inch Gaming Monitor, FHD 1080p, Up to 144Hz, HDMI, DisplayPort, Built-in Speakers, Machine Black (E225W-FW144 Series, 2026)
  • 【INTEGRATED SPEAKERS】Whether you're at work or in the midst of an intense gaming session, our built-in speakers provide rich and seamless audio, all while keeping your desk clutter-free.
  • 【EASY ON THE EYES】 Protect your eyes and enhance your comfort with Blue-Light Shift technology. This feature reduces harmful blue light emissions from your screen, helping to alleviate eye strain during long hours of use and promoting healthier viewing habits.
  • 【WIDEN YOUR PERSPECTIVE】Our sleek minimal bezel design ensures undivided attention. The nearly bezel-free display seamlessly connects in a dual monitor arrangement, delivering an unobstructed view that lets you focus on more at once, completely distraction-free.
await page.screenshot({ path: 'transparent.png', fullPage: true, omitBackground: true });

This can help determine whether the white pixels come from the default browser background. It does not crop the image, shorten the document, or remove excess layout space. The option and default are described in the ScreenshotOptions documentation.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

7. Troubleshoot by symptom

What you observe What to check Next step
The image ends at the viewport, though the page is longer Whether fullPage is enabled Set fullPage: true if you intend to capture the full document.
The image includes a large blank region below visible content document.documentElement.scrollHeight and document.body.scrollHeight Inspect footer/container height, spacing, positioning, and responsive CSS.
Images or embedded content are missing or leave empty space Whether those assets have loaded before capture Wait for the relevant selector or asset condition; do not rely on network idle alone.
The symptom changes when the scale factor changes A controlled comparison at scale 1, with every other setting unchanged Record the result; the historical report is site-specific and is not a general fix.
The installed browser is newer than expected for the Puppeteer package await browser.version() and release compatibility Use a browser version supported by the installed Puppeteer release.
You cannot tell whether the white area is a background or layout A diagnostic capture with omitBackground: true Interpret transparency as a background check, not a crop or layout repair.

A 2017 issue reported a 16,384-pixel cap in the context of extremely tall full-page captures. That is a historical report from its environment, not a current general Puppeteer limit. See Puppeteer issue #359. If you are capturing an unusually tall document, test the exact installed browser and Puppeteer versions rather than treating that old figure as a present-day specification.

8. Gather a useful minimal reproduction

If the strip persists, include enough detail for someone else to distinguish a capture-region issue from layout, loading, scale, or compatibility behavior:

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.
  • Puppeteer version and the output of await browser.version().
  • Operating system and target URL, or a minimal local HTML reproduction.
  • Viewport settings from page.setViewport(), including deviceScaleFactor.
  • The exact page.screenshot() options.
  • The output PNG’s width and height, and the document and viewport heights measured before capture.
  • Whether the page depends on lazy-loaded content, images, or iframes, and what readiness condition you waited for.

Or skip the browser setup

If you need a website screenshot without maintaining a Puppeteer capture setup, ScreenshotNeo is a screenshot API and MCP server for developers. One GET request can return a PNG, JPEG, WebP, or PDF. Cookie banners and consent prompts, newsletter popups, and chat widgets are removed before capture by default; each step can be turned off. Bot checks and CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and the response reports the page verdict and billing status.

For example, this cURL request saves a WebP screenshot; see the ScreenshotNeo API documentation for request options:

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

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 shots per month without a card; paid plans start at $5 for 3,000 shots. Sign up for ScreenshotNeo’s free plan.

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.