Responsive layouts don't care about screen resolution. They care about the CSS pixel viewport — and what fits above the fold depends on a third number: the height left over after the browser's own UI. Here are all three, for every phone worth testing.
Last reviewed July 2026
The iPhone 15 has a 1179 × 2556 screen. But @media (max-width: 400px) matches at
393. The ratio between them is the device pixel ratio — 3× on this phone.
Use the second number for breakpoints. Use the third to check whether your headline and call to action survive the fold. Most "the button was below the fold on mobile" bugs come from never looking at it.
| Device | CSS viewport | DPR | Safari content area |
|---|---|---|---|
| iPhone 15 / 15 Pro | 393 × 852 | 3x | 393 × 710 |
| iPhone 15 Plus / 15 Pro Max | 430 × 932 | 3x | 430 × 790 |
| iPhone 14 | 390 × 844 | 3x | 390 × 714 |
| iPhone SE (3rd gen) | 375 × 667 | 2x | 375 × 598 |
| iPad mini | 744 × 1133 | 2x | 744 × 1061 |
| iPad Pro 11" | 834 × 1194 | 2x | 834 × 1122 |
Portrait orientation. Since iOS 15 Safari places the address bar at the bottom of the screen.
So an iPhone 15 gives you 710px, not 852. Scrolling collapses the address bar and the height grows,
which is exactly why 100vh jumps on iOS. Use 100dvh, or design against the
first-paint height.
On Android the answer depends on where the link was opened. A large share of search traffic never reaches the Chrome app — it opens inside the Google app's in-app browser, which adds a toolbar and leaves you less vertical room than Chrome does.
| Device | CSS viewport | DPR | Google app content area |
|---|---|---|---|
| Galaxy S24 / S23 | 360 × 780 | 3x | 360 × 676 |
| Galaxy S24+ | 384 × 832 | 3x | 384 × 728 |
| Galaxy S24 Ultra | 384 × 824 | 3.5x | 384 × 720 |
| Galaxy Z Flip5 (unfolded) | 360 × 880 | 3x | 360 × 776 |
| Galaxy Z Fold5 (unfolded) | 673 × 841 | 2.6x | 673 × 737 |
| Galaxy Z Fold5 (cover) | 344 × 882 | 2.6x | 344 × 778 |
| Pixel 8 | 412 × 915 | 2.6x | 412 × 811 |
Based on a 24px status bar, a 56px in-app browser toolbar, and a 24px gesture bar.
Turn on several devices and they line up like this. Enable browser UI to see the real above-the-fold area.
100dvh — 100vh breaks when the address bar collapses.DevTools device emulation reports the CSS pixel viewport (for example 393 × 852) and does not subtract the address bar and status bar a real phone shows. That makes above-the-fold checks more optimistic than reality.
They are derived from documented platform UI metrics, not measured on hardware: iOS uses a 59/47/20px status bar plus a 49px address bar and a 34px home indicator; Android uses a 24px status bar, a 56px in-app browser toolbar and a 24px gesture bar. Real devices can differ by a few pixels, so the tool lets you override the values with your own measurements.
Their servers send X-Frame-Options or a CSP frame-ancestors directive that forbids embedding. Most large services do this. Device Preview detects the block and automatically retries through a server-side proxy.
Browsers cannot change the User-Agent inside an iframe. When the proxy is used, the server sends a device-appropriate User-Agent instead — Safari for iPhones, the Google app for Galaxy devices — so UA branching can be verified.
Tapping a search result on Android often opens the Google app's own browser rather than Chrome. It adds a toolbar and leaves less vertical space, so it is the stricter and safer baseline for search traffic.