iPhone 17 Pro viewport size, resolution and safe areas

The iPhone 17 Pro has a viewport of 402×874 CSS pixels in portrait (874×402 in landscape), a device pixel ratio (DPR) of 3 and a physical resolution of 1206×2622.

Portrait
402×874
Landscape
874×402
DPR
3
Physical
1206×2622
iPhone 17 Pro in Breakpane, App mode, with Lume open and the viewport dimension lines
Breakpane capture in App mode (installed PWA). The dimension lines show the viewport the page measured inside the device; system bars that stay reserved are not counted.

Measurements

iPhone 17 Pro measurements in CSS pixels
Viewport, portrait402×874
Viewport, landscape874×402
Device pixel ratio (DPR)3
Physical resolution1206×2622
Status bar (top safe area)62 px
Home indicator (bottom safe area)34 px
Side safe areas, landscape62 px
Bottom safe area, landscape21 px
Safari: space taken at the top62 px
Safari: space taken at the bottom94 px
Visible viewport in Safari, portrait402×718
OSiOS
Notesame screen as the iPhone 17 and 18 Pro

CSS for the iPhone 17 Pro

Media query by width

Breakpoints are written in CSS pixels, never in physical resolution.

/* iPhone 17 Pro: 402 CSS px in portrait, 874 in landscape */
@media (max-width: 402px) {
  /* … */
}

/* screens with a DPR of 3 or more */
@media (min-resolution: 3dppx) {
  /* 3x images */
}

Safe areas with env()

With viewport-fit=cover, the page runs to the edge and the system hands over the safe areas through env(). In the installed app, the top only becomes an inset with the black-translucent status bar; in Safari, the browser bars cover those strips.

<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">

/* iPhone 17 Pro, portrait: 62 px at the top and 34 px at the bottom */
.header { padding-top: env(safe-area-inset-top); }
.bottom-bar { padding-bottom: env(safe-area-inset-bottom); }

/* landscape: 62 px on the sides and 21 px at the bottom */
.page {
  padding-left: max(16px, env(safe-area-inset-left));
  padding-right: max(16px, env(safe-area-inset-right));
}

How Breakpane emulates the iPhone 17 Pro

Breakpane doesn't run iOS. It's Chromium with the iPhone 17 Pro's viewport (402×874), density (3), user agent, touch, safe areas and display-mode, inside a frame with the real dimensions, floating in front of your editor with your dev server live.

It covers layout, safe areas and the installed PWA. WebKit rendering or API bugs only show up on a real device or in the Xcode Simulator.

More devices: iPhone

All devices

Measurements from Breakpane's device catalog, checked against public sources (the Chrome DevTools device list, useyourloaf.com, deviceatlas.com, yesviz.com, webmobilefirst.com and 1440px.com) between Oct 2, 2026 and Oct 5, 2026.