iPhone 16 screen size & viewport
The iPhone 16 renders web pages at a CSS viewport of 390 × 844 in portrait (844 × 390 in landscape).
▶ Preview a website at 390×844What these numbers mean
390 × 844 is the CSS viewport size — the coordinate space your layout, media queries and vw/vh units work in. It is not the hardware pixel count: the iPhone 16 packs more physical pixels behind each CSS pixel (its device pixel ratio), which is why images meant for it should be exported at 2× or 3×.
For a phone this size, a layout should already be at its single-column mobile breakpoint.
Targeting it in CSS
/* Styles for viewports up to the iPhone 16 */
@media (max-width: 480px) {
.container { padding-inline: 16px; }
}
/* Exactly the iPhone 16 in portrait */
@media (width: 390px) and (height: 844px) { /* … */ }
Common things that break at 390px wide
- Fixed-width elements wider than 358px (content minus typical padding) cause horizontal scroll.
- Tap targets under 44×44 CSS px are hard to hit.
- Sticky headers taller than ~15% of 844px eat too much of the screen.
- Text set below 16px triggers zoom-on-focus in form fields on iOS.
Test it live: open ViewOnPhone at 390×844, paste your URL and toggle portrait / landscape.