How does your website look on iPhone Duo?
Preview your website across folded, open, and split-screen layouts—and check for potential issues.
We load your public page in a headless browser at six approximate iPhone Duo sizes, capture screenshots, and check for sideways scrolling, clipped content, broken images, script errors, small tap targets, covering overlays, accessibility issues, and how the page reacts to resizing.
Closed · 466 × 678 CSS pxprovisional
Approximate display sizes. Browser simulation does not replace testing in Safari on an actual device.
What gets checked
- Mobile viewport setupWhether the page tells mobile browsers how to size itself.
- Sideways scrollingContent wider than the screen that forces horizontal scrolling.
- Content off screenVisible elements that extend past the edge of the display.
- Broken images and filesImages, styles, and scripts that fail to load, with third-party services listed separately.
- JavaScript errorsErrors your page throws while loading or resizing.
- Small tap targetsButtons and links that may be hard to tap accurately.
- Covering overlaysFixed banners or bars that may hide important content.
- Automated accessibilityCommon WCAG A/AA issues detected by axe-core.
- Resize transition testChecks whether the page adapts when its available space changes without reloading.
Results are sorted into measured issues, items worth reviewing, manual checks, and test limitations. There’s no overall score—just what we found and what we were able to check.
Display sizes used
| Mode | CSS size | Pixel ratio | Status |
|---|---|---|---|
| ClosedFolded, using the outer display | 466 × 678 | 3x | provisional |
| OpenUnfolded, using the full inner display | 890 × 626 | 3x | provisional |
| Split ViewUnfolded, sharing the screen with another app | 445 × 626 | 3x | provisional |
Third-party estimates, not confirmed by Apple. Treat as provisional until measured in Safari on an actual device. Each mode is also tested rotated. Websites can’t detect the fold position, so we only test the space available to the browser.
About this simulation
This is a website preview and responsive readiness checker. It isn’t Apple’s simulator, an official Apple tool, or an exact reproduction of Safari on iPhone Duo.
Scans currently run in Headless Chromium (bundled). The browser identifies itself as mobile Safari so sites serve their mobile layout, but rendering differences from real Safari are possible.
Automated checks can’t verify checkout, form completion, the on-screen keyboard, real touch behavior, device safe areas, or full accessibility compliance. We only test public pages that don’t require a login, and we never submit forms or make purchases.
Setup for site owners
Scanning works out of the box using a bundled headless Chromium that runs in the server function. These optional environment variables change how it runs:
SCANNER_WS_ENDPOINT- Connect to a remote Playwright browser service instead of the bundled browser.
SCANNER_ENGINE- Set to "webkit" when the remote service runs Playwright WebKit, a closer approximation of Safari’s engine.
SCANNER_DISABLED- Set to "1" to turn off live scanning; the demo report stays available.
Display presets live in lib/presets.ts with their source and verification status, so they can be updated once Safari measurements on a real device are available. Shareable report links need persistent storage, which isn’t connected yet—download the report to share it.