Open dataset · CC BY 4.0

iPhone 12 screen size

iPhone 12: 390 × 844 points at @3x, which is 1170 × 2532 pixels at 460 ppi on a 6.1-inch Super Retina XDR display.

Screen specs

iPhone 12 screen specs
Points390 × 844 pt
Pixels1170 × 2532 px
Scale@3x
PPI (Apple)460
PPI (computed from pixels and diagonal)460.3
Diagonal6.1 inches
Diagonal of the full rectangle6.06 inches
Aspect ratio195:422 (2.1641)
Display typeOLED
Display nameSuper Retina XDR
ProMotionNo
Always-OnNo
CutoutNotch
Home buttonNo
Face ID or Touch IDFace ID
Model identifiersiPhone13,2
Release year2020

Safe area insets

Safe area insets in points
OrientationTopRightBottomLeft
Portrait470340
Landscape0472047
iPhone 12 portrait: 390 × 844 points, safe area insets top 47, right 0, bottom 34, left 0iPhone 12 landscape: 844 × 390 points, safe area insets top 0, right 47, bottom 20, left 47

Outline drawn to scale in points. Shaded bands are the insets; the dashed box is the safe area.

How it was measured: key window safeAreaInsets, portrait and landscape (interface orientation landscapeLeft, rotated with requestGeometryUpdate; landscapeRight identical) (source: Xcode 27.1 Simulator, iOS 27.0 (24A434) runtime, device type 'iPhone 12').

Corner radius (unofficial)

47.33 pt (unofficial). Apple doesn't publish this; measured from the Simulator's private display corner radius.

UNOFFICIAL: private UIScreen _displayCornerRadius = 47.33 pt (source: Xcode 27.1 Simulator, iOS 27.0 (24A434) runtime, device type 'iPhone 12'); Apple does not publish this value

For web developers

CSS viewport: 390 × 844 CSS pixels in portrait, devicePixelRatio 3. CSS pixels equal points.

/* iPhone 12, portrait */
@media (device-width: 390px) and (device-height: 844px) and (-webkit-device-pixel-ratio: 3) {
  /* styles for this screen size */
}
/* needs <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"> */
.page {
  padding-top: env(safe-area-inset-top);       /* 47px on iPhone 12 in portrait */
  padding-right: env(safe-area-inset-right);   /* 0px */
  padding-bottom: env(safe-area-inset-bottom); /* 34px */
  padding-left: env(safe-area-inset-left);     /* 0px */
}

Safari's visible viewport is smaller than the screen because of the browser bars, so window.innerHeight is less than the height above until the bars collapse.

For iOS developers

Same layout size

Same points and scale (390 × 844 pt at @3x):

Compare

Sources

Download and cite

Data: Apple device screen specs by bestlatestapps.com (https://bestlatestapps.com/tools/apple-device-screen-sizes/), licensed CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Built from Apple's published tech specs and Human Interface Guidelines, Wikipedia for model identifiers, and our own Xcode Simulator measurements.

Cite as: Singh, A. (2026). Apple Device Screen Specs (v0.1.0). Zenodo. https://doi.org/10.5281/zenodo.23819103

Also on: Zenodo and Kaggle

Questions

What is the iPhone 12 viewport size in CSS pixels?

390 × 844 CSS pixels in portrait, with a devicePixelRatio of 3. Safari's visible viewport is smaller while the browser bars show.

What is the iPhone 12 screen resolution?

1170 × 2532 pixels at 460 ppi, shown as 390 × 844 points at @3x.

What are the iPhone 12 safe area insets?

In portrait: top 47, right 0, bottom 34, left 0 points. In landscape: top 0, right 47, bottom 20, left 47 points. Values are top, right, bottom, left, measured in the Xcode Simulator.

Does the iPhone 12 have the same screen size as the iPhone 17e?

Yes, for layout: both are 390 × 844 points at @3x, so apps and web pages lay out the same. Both have 1170 × 2532 pixels.

Data version 0.1.0, generated 2026-10-27.