To capture a mobile-sized viewport with Playwright, create a browser context using a mobile device profile, navigate to the page, and call page.screenshot(). By default, it saves only the currently visible viewport; add fullPage: true only if you want the full scrollable page.
Capture a mobile viewport with Playwright Test
This TypeScript example uses Playwright Test’s documented iPhone 13 profile as an example. A device preset supplies mobile-emulation settings such as viewport, screen size, user agent, and touch behavior; it does not claim to reproduce every iPhone model or iOS release.
As an Amazon Associate I earn from qualifying purchases.
import { defineConfig, devices } from '@playwright/test';
export default defineConfig({
projects: [
{
name: 'Mobile Safari',
use: {
...devices['iPhone 13'],
},
},
],
});
Save the configuration as playwright.config.ts. Then create a test such as tests/mobile-screenshot.spec.ts:
Free tools Windows power users keep installed
One-click scans. No signup required.
import { test } from '@playwright/test';
test('capture mobile viewport', async ({ page }) => {
await page.goto('https://example.com');
await page.screenshot({ path: 'mobile-viewport.png' });
});
Run it with npx playwright test. The output file is written relative to the test process’s working directory. Playwright’s official emulation guide explains device profiles; the Page screenshot API documents capture options.
#1 Best Overall
- 【14" HD Display】The business and leisure activities will undoubtedly benefit from the mesmerizing clarity and brilliance.
- 【Intel Processor N150】Enjoy seamless multitasking, consistent performance, and significant energy conservation, making it an outstanding choice for your everyday computing needs.
- 【4GB DDR4 RAM】Get high-bandwidth performance for resource-intensive tasks. Run multiple applications at once and stay responsive.【128GB UFS】 Delivers blazing boot-up speed and enhanced storage capabilities. Effortlessly access your extensive digital library with ease.
- 【Intel Graphics】Enjoy vibrant colors and sharp details that bring your everyday content to life. 【720p HD Camera】Provides high quality video calls, virtual meetings and online interactions.
- 【Windows 11 S】Unlock endless possibilities with a user-friendly operating system, tailored to your needs.【Dimensions & Weight】12.76 x 8.86 x 0.71 inches, 3.24 lbs.【Ports】1x USB Type-C, 2x USB Type-A, 1x Headphone/microphone combo, 1x Media card reader, 1x HDMI 1.4b, 1x AC Smart pin. Wi-Fi 6, Bluetooth, Webcam.
Capture a viewport in a standalone Playwright script
If you are not using Playwright Test, create a context from the profile before opening a page. This JavaScript example uses Chromium and closes the browser after the image is saved:
const { chromium, devices } = require('playwright');
(async () => {
const browser = await chromium.launch();
try {
const context = await browser.newContext({
...devices['iPhone 13'],
});
const page = await context.newPage();
await page.goto('https://example.com');
await page.screenshot({ path: 'mobile-viewport.png' });
} finally {
await browser.close();
}
})();
Save it as a JavaScript file and run it with Node.js in a project where playwright is installed. The screenshot call omits fullPage, so the output is the current viewport, not the entire document.
Choose a device profile or a custom viewport
Use a device profile for mobile-like browser settings
A named profile is useful when the test depends on more than dimensions—for example, mobile-oriented user-agent and touch settings. Configure the context before navigation so the page loads under the selected emulation settings. Playwright describes this as browser emulation, not a guarantee that output matches a physical phone.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →Rank #2
- ULTRA HD 4K CLARITY: Stand out in every video call with breathtaking 4K video at 30fps or smooth 1080p at 60fps. Powered by a premium 1/2.5" CMOS sensor and a wide f/1.78 aperture, this webcam captures every detail with vibrant color and stunning low-light performance-so you always look your best
- FAST AUTOFOCUS & SMART LIGHT CORRECTION: No more blurry moments with this webcam for PC. Advanced Phase Detection Auto Focus (PDAF) locks onto your face instantly and keeps you sharp-even when you move. Built-in light correction adapts to your environment, balancing brightness and contrast for a flawless image in dim rooms or bright spaces
- DUAL NOISE-CANCELING MICS: Speak with confidence using this webcam with microphones. Dual microphones with intelligent noise-canceling tech isolate your voice and reduce background noise-suitable for webinars, live streams, team meetings, and virtual interviews
- WIDE-ANGLE LENS & FLEXIBLE MOUNTING OPTIONS: Capture more of your world with an 80 field of view and full 360 swivel rotation. Whether this streaming webcam is mounted on a laptop, monitor, or tripod, it allows you to find the right angle for any setup
- BUILT-IN PRIVACY COVER & PLUG-AND-PLAY SIMPLICITY: Protect your privacy with a secure sliding lens cover that blocks the camera when not in use. Setup is a breeze-just plug into any USB-A port and start streaming, chatting, or recording instantly. The USB webcam is compatible with Zoom, Microsoft Teams, Skype, OBS Studio, and all major platforms across Windows, macOS, and Linux
Use a custom viewport when dimensions are the requirement
If you need a particular width and height rather than a named device’s settings, set the viewport directly. In a standalone script:
const context = await browser.newContext({
viewport: { width: 390, height: 844 },
});
In Playwright Test, set a project’s use option to include viewport: { width: 390, height: 844 }. If you spread a device profile and then override its viewport, put the override after the spread so your dimensions take precedence:
use: {
...devices['iPhone 13'],
viewport: { width: 390, height: 844 },
}
The sample dimensions above are a custom example, not a claim about a particular device. A viewport-only configuration does not, by itself, provide all of a device profile’s mobile browser parameters.
Rank #3
- This Certified Refurbished product is tested and certified to look and work like new. The refurbishing process includes functionality testing, basic cleaning, inspection, and repackaging. The product ships with all relevant accessories, a minimum 90-day warranty, and may arrive in a generic box. Only select sellers who maintain a high performance bar may offer 1Certified Refurbished products on Amazon.com.
- Powerful 10th Gen Intel Core i5: Features a quad-core i5-10210U processor (up to 4.2GHz Turbo Boost) for smooth multitasking and business productivity.
- High-Speed Memory & Storage: 32GB DDR4 RAM ensures seamless performance, while the 1TB M.2 NVMe SSD provides ultra-fast boot-up and file access.
- Stunning 15.6-inch FHD Display: Enjoy crisp visuals with 1920x1080 resolution.
- Enhanced Connectivity: Features Wi-Fi, Bluetooth, Type-C, HDMI, and Thunderbolt for versatile connectivity options.
Viewport screenshot versus full-page screenshot
page.screenshot() captures the currently visible viewport by default. To capture the full scrollable document instead, opt in explicitly:
await page.screenshot({ path: 'full-page.png', fullPage: true });
This distinction matters when checking a mobile layout: a full-page image may be much taller than the screen and is not a screenshot of just the initial viewport. The official API reference defines fullPage as capturing the full scrollable page instead of the visible viewport.
Pick an output scale
The screenshot API also supports scale:
scale: 'css'creates one image pixel per CSS pixel.scale: 'device'creates one image pixel per device pixel and can result in a larger file on high-DPI device profiles.
Choose deliberately if the image is used for pixel comparisons or if file size matters. For example, add scale: 'css' to the screenshot options when you want CSS-pixel dimensions.
Rank #4
- 【Efficient Quad-Core Performance】 Powered by a 1.8GHz Quad-Core processor, this mini laptop ensures smooth multitasking. With 2GB RAM and 64GB ROM (expandable to 1TB), it handles daily work and online tasks with ease.
- 【10.1" HD IPS Display & GMS Support】 Featuring a 1280x800 HD IPS screen, this cheap laptop delivers vibrant visuals. Pre-installed with Android OS and GMS, you get direct access to the Google Play Store for apps.
- 【Ultra-Portable & Lightweight Design】 Weighing only 1.76 lbs, this Blue computer is designed for mobility. Its compact form makes it an ideal companion for students and professionals for home schooling or trips.
- 【Versatile Connectivity Options】 Stay productive with dual USB 2.0 ports, a headphone jack, and a TF card slot. This computer for kids and adults features built-in Wi-Fi and Bluetooth for stable connections.
- 【Complete All-in-One Bundle】 This kid laptop kit includes the laptop, carrying bag, mouse, mouse pad, and power adapter. It is the perfect ready-to-use set for online classes, remote work, and entertainment.
Keep visual screenshot comparisons consistent
For automated visual assertions, Playwright Test provides toHaveScreenshot(). Pixel output can vary with the operating system, browser version, settings, hardware, power source, and headless mode. Keep the baseline and comparison runs in a consistent rendering environment when pixel-level stability matters. See the Playwright screenshot testing guidance for the assertion workflow.
Troubleshoot common capture problems
- The image is only as tall as the screen. That is the default viewport capture. Set
fullPage: trueonly when you want the full document. - The page looks desktop-sized. Check that the mobile profile or custom viewport is set on the context/project before navigation, rather than after the page has loaded.
- The screenshot dimensions differ from expectations. A device profile controls more than width and height, and the
scaleoption affects image pixels. Check both the profile viewport and selected scale. - A custom size is ignored. When combining a preset with an override, define
viewportafter...devices['iPhone 13']. - Visual tests fail across machines. Rendering can vary across environments. Run baseline creation and comparisons with consistent browser, operating system, and rendering settings.
- The result is not identical to a real phone. Playwright’s preset is emulation. Use this approach for an emulated mobile browser view, not as proof of behavior on physical hardware.
Or skip the browser setup
If you need a screenshot from a URL without managing Playwright contexts, browsers, and capture code, ScreenshotNeo offers a one-request screenshot API. Its API also accepts the parameter names used by other screenshot APIs, which can make switching easier. See the ScreenshotNeo documentation for parameters and response details.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://example.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 cost nothing, and the response indicates the page verdict and whether it was billed. It also has an MCP server with screenshot, page-info, and PDF-capture tools for AI agents. The Free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 screenshots.
Sign up for ScreenshotNeo’s free plan to try it with 1,000 screenshots a month and no card.
Frequently Asked Questions
Does Playwright need a physical phone to capture a mobile viewport?
No. The examples use browser device emulation; a physical device is not required for this procedure.
Can I save the viewport screenshot as JPEG or WebP?
Yes. The screenshot API supports formats including PNG, JPEG, and WebP; choose the desired format with the screenshot options.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
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.




