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 →Use Playwright’s built-in iPhone 16 device descriptor, open the page in a WebKit browser context, then call page.screenshot(). The preset emulates a mobile browser layout; it does not capture from a physical iPhone 16. For a normal responsive-design check, the viewport is 393 × 659 CSS pixels. Add fullPage: true to capture the entire scrollable page instead.
Set up an iPhone 16 emulation in Playwright Test
The device descriptor provides the viewport, screen, device scale factor, user agent, and mobile and touch settings. The current Playwright registry specifies WebKit as the descriptor’s default browser type. State it explicitly in the project configuration so the engine under test is clear.
As an Amazon Associate I earn from qualifying purchases.
1. Configure the project
// playwright.config.ts
import { defineConfig, devices } from '@playwright/test';
export default defineConfig({
projects: [
{
name: 'iPhone 16 emulation',
use: {
...devices['iPhone 16'],
browserName: 'webkit',
},
},
],
});
Install Playwright Test in your project if you have not already, and use the project configuration above. The project name is only a label; browserName selects the engine. Playwright describes its device support as emulation of real devices, not physical-device capture (Playwright emulation documentation; device descriptor source).
2. Capture the visible viewport
Create the output directory before running this test; the example writes into artifacts but does not create it.
#1 Best Overall
- 6.1" Super Retina XDR OLED, HDR10, 800 nits (HBM), 1200 nits (peak), 2532x1170px at 460ppi, 4005mAh Battery
- 8GB RAM, Apple A18 6-core CPU (2 performance + 4 efficiency cores), Apple GPU 4-core, 16‑core Neural Engine
- Rear camera: 48MP, f/1.6, wide, Front Camera: 12MP, f/1.9, wide, iOS 18.3.1, upgradable to iOS 18.5
- Connectivity: Global 4G LTE, Sub-6 GHz 5G, LTE, Wi-Fi 6, Bluetooth 5.3, NFC, USB-C, Wireless Charging (7.5W). (does not have mmWave 5G or MagSafe or physical SIM card) - Dual eSIM Only
- Unlocked for freedom to choose your carrier. Compatible with both GSM & CDMA networks. The phone is unlocked to work with all GSM Carriers & CDMA Carriers Including AT&T, T-Mobile, Verizon, Straight Talk., Etc.
// tests/iphone16-screenshot.spec.ts
import { test } from '@playwright/test';
test('capture the responsive page at iPhone 16 size', async ({ page }) => {
await page.goto('https://example.com');
await page.screenshot({ path: 'artifacts/iphone-16.png' });
});
Run the test in the configured project, for example with npx playwright test --project="iPhone 16 emulation". The default screenshot type is PNG, and without a full-page option the capture is of the currently visible viewport (Playwright Page API).
Choose the screenshot area and pixel scale
Viewport or full page
A viewport screenshot records what is visible at the current scroll position. Use it to inspect the first screen or a specific scrolled state. To capture the whole scrollable document, set fullPage: true:
Rank #2
- This pre-owned product is not Apple certified, but has been professionally inspected, tested and cleaned by Amazon-qualified suppliers.
- There will be no visible cosmetic imperfections when held at an arm’s length. There will be no visible cosmetic imperfections when held at an arm’s length.
- This product will have a battery which exceeds 90% capacity relative to new.
- Accessories will not be original, but will be compatible and fully functional. Product may come in generic Box.
- This product is eligible for a replacement or refund within 365 days of receipt if you are not satisfied.
await page.screenshot({
path: 'artifacts/iphone-16-full.png',
fullPage: true,
});
A full-page capture is a tall image of the document, not a claim that the whole site fits on the phone’s screen. Pages with lazy-loaded content may need scrolling or other page-specific preparation before capture if that content must appear; full-page mode alone does not guarantee every site’s deferred content has loaded.
Device pixels or CSS pixels
The current iPhone 16 descriptor has a 393 × 659 CSS-pixel viewport, a 393 × 852 screen, and a device scale factor of 3. With the screenshot API’s default scale: 'device', a viewport image is nominally 1179 × 1977 image pixels. That figure is the viewport multiplied by the scale factor, not Apple’s full display resolution. Use scale: 'css' for one output pixel per CSS pixel:
Rank #3
- This pre-owned product is not Apple certified, but has been professionally inspected, tested and cleaned by Amazon-qualified suppliers.
- There will be no visible cosmetic imperfections when held at an arm’s length. There will be no visible cosmetic imperfections when held at an arm’s length.
- This product will have a battery which exceeds 90% capacity relative to new.
- Accessories will not be original, but will be compatible and fully functional. Product may come in generic Box.
- This product is eligible for a replacement or refund within 365 days of receipt if you are not satisfied.
await page.screenshot({
path: 'artifacts/iphone-16-css.png',
scale: 'css',
});
You can combine fullPage and scale when you need a full-page image at CSS-pixel scale. The resulting full-page height depends on the document. Playwright documents scale: 'css' as one screenshot pixel per CSS pixel (screenshot API reference).
Use the standalone Playwright library instead
For a script outside Playwright Test, import the descriptor from playwright and apply it when creating a browser context. The following uses WebKit to match the descriptor’s default engine:
Rank #4
- This pre-owned product is not Apple certified, but has been professionally inspected, tested and cleaned by Amazon-qualified suppliers.
- There will be no visible cosmetic imperfections when held at an arm’s length. There will be no visible cosmetic imperfections when held at an arm’s length.
- This product will have a battery which exceeds 90% capacity relative to new.
- Accessories will not be original, but will be compatible and fully functional. Product may come in generic Box.
- This product is eligible for a replacement or refund within 365 days of receipt if you are not satisfied.
import { webkit, devices } from 'playwright';
const browser = await webkit.launch();
const context = await browser.newContext({
...devices['iPhone 16'],
});
const page = await context.newPage();
await page.goto('https://example.com');
await page.screenshot({ path: 'iphone-16.png' });
await browser.close();
If you use Chromium instead, the corresponding launch is chromium.launch(). The device profile still applies, but the result is an iPhone 16-sized emulation in Chromium—not Safari or a physical iPhone capture. Browser engine choice can affect rendering and behavior, so use the engine you actually intend to check. Playwright’s emulation documentation explains the device parameters and browser options (Playwright emulation).
What the iPhone 16 dimensions do—and do not—mean
Use the descriptor’s viewport dimensions when reasoning about responsive CSS: the page layout is evaluated in a 393 × 659 CSS-pixel viewport. The descriptor’s screen value, 393 × 852, is a separate emulation parameter. Apple lists the iPhone 16 display as 2556-by-1179 pixels at 460 ppi (Apple iPhone 16 technical specifications). Those hardware display figures are not the dimensions of an ordinary Playwright viewport screenshot.
Best Value
- The large 6.9-inch display combines ProMotion 120Hz technology with advanced color calibration, giving movies, games, and productivity apps a spacious, crisp, and fluid visual experience that’s ideal for multitasking or immersive media consumption.
Emulation is useful for repeatable responsive checks, but it does not establish how a page behaves on physical iPhone hardware. For device-specific validation, test on the actual device as well.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Troubleshoot common screenshot problems
- “iPhone 16” is not found: Import
devicesfrom the Playwright package used by your project and check that its device registry includes the descriptor. Device descriptors are part of Playwright’s versioned package, while the online registry is live. - The screenshot file is not written: Confirm the output path is writable and that its parent directory exists. The test example does not create
artifacts. - The image is larger than 393 × 659: That is expected at the default device-pixel scale. Use
scale: 'css'if you need one image pixel per CSS pixel. - The screenshot shows only part of the page: The default captures the viewport. Add
fullPage: trueto capture the scrollable document. - It does not look like Safari: Check
browserNamein the Test configuration, or which browser you launch in a standalone script. The device descriptor does not turn Chromium or Firefox into iOS Safari. - Page content is missing or not settled: Make sure navigation and the site’s own loading behavior have completed before capturing. Sites that defer images or content may require page-specific waits or scrolling before the screenshot.
Or skip the browser setup
If you need a screenshot from an API instead of managing a local browser, ScreenshotNeo is a website screenshot API and MCP server. Its one-request API returns an image or PDF; note that its stated features include custom viewports and 12 device presets, but the available facts do not establish a specifically named iPhone 16 preset. Its capture is not a substitute for Playwright’s explicit iPhone 16 emulation check.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://example.com -o shot.webp
See the ScreenshotNeo API documentation for request options. Before capture, it accepts cookie or consent banners and removes more than 60 known consent platforms, newsletter popups, and chat widgets; each step can be switched off. Bot checks and CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, with response headers indicating the page verdict and billing status. Its MCP server offers take_screenshot, get_page_info, and capture_pdf for AI agents. The free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 screenshots.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Sign up for ScreenshotNeo’s free plan.
Frequently Asked Questions
Does the Playwright iPhone 16 preset take a screenshot on a real iPhone?
No. It emulates device settings in a browser; use a physical iPhone for hardware validation.
Which browser engine does the iPhone 16 descriptor use by default?
The current descriptor specifies WebKit. Set the engine explicitly when the distinction matters.
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.




