Chat Platform Specifications

Every measurement our mockup generators use, published as one readable matrix. Values are device-independent points unless marked as device pixels. Free to cite or reuse under our terms.

All platforms, compared
ParameteriMessage (iOS 18)WhatsApp-styleMessenger-styleGoogle Messages (Android)
Canvas (device px @3×)1206 × 26221080 × 24001080 × 24001080 × 2400
Logical size (pt)402 × 874360 × 800360 × 800360 × 800
Safe top (pt)62323224
Status bar height (pt)62242424
Status barios-island · signal, wifi, batteryandroid · signal, wifi, batteryramless · signal, wifi, batteryandroid · dual-sim, signal, wifi, battery
Island / cutout (pt)125.3 × 36.7 @ top 14———
CalibrationA — iPhone 17 Pro simulator, iOS 26.4 (2026-10-22)B — document values, pending device passB — document values, pending device passB — document values, pending device pass
Header height (pt)44565664
Bubble max width72%75%70%75%
Bubble padding x / y (pt)16 / 1018 / 1218 / 1220 / 12
Bubble radius (pt)187.51820
Bubble tailroundpointroundround
Text size / line height (pt)17 / 2214.2 / 1915 / 2016 / 21
Receiptsword: Sent / Delivered / Readdouble ticknoneword: Sending / Sent / Delivered / Read
Composer placeholderiMessageMessageAaText message
Timestamp positionbelowinsideinsideinside
Outgoing / incoming bubbles (light)#0B93F6 / #E9E9EB#DCF8C6 / #FFFFFF#0084FF / #F0F0F0#D3E3FD / #F1F3F4
Outgoing / incoming bubbles (dark)#0B93F6 / #26252A#005C4B / #202C33#0084FF / #3A3B3C#3D4F6B / #2D2F31
Wallpaper dim (light / dark / black)0 / 0.35 / 0.60 / 0.35 / 0.60 / 0.35 / 0.60 / 0.35 / 0.6
Bubble alpha (light / dark / black)1 / 0.95 / 0.91 / 0.95 / 0.91 / 0.95 / 0.91 / 0.95 / 0.9

Canvas sizes are device pixels at 3×; the iMessage canvas is 1206 × 2622, i.e. 402 × 874 points on the calibrated iPhone 17 Pro (iOS 26.4). All other measurements are device-independent points. The 390 × 844 / 47 pt layout from the first spec draft is kept as an uncalibrated variant and is not the default.

Starting values, pending device calibration: TODO(calibrate).

iMessage (iOS 18)

Blue outgoing bubbles, a Dynamic Island status bar and an iOS 14–18 version matrix.

OS range
iOS 14 – 18
Dark-mode notes
Wallpaper dim 0.35, bubble alpha 0.95, status bar ink #FFFFFF.
iMessage (iOS 18) detail
ParameteriMessage (iOS 18)
Canvas (device px @3×)1206 × 2622
Logical size (pt)402 × 874
Safe top (pt)62
Status bar height (pt)62
Status barios-island · signal, wifi, battery
Island / cutout (pt)125.3 × 36.7 @ top 14
CalibrationA — iPhone 17 Pro simulator, iOS 26.4 (2026-10-22)
Header height (pt)44
Bubble max width72%
Bubble padding x / y (pt)16 / 10
Bubble radius (pt)18
Bubble tailround
Text size / line height (pt)17 / 22
Receiptsword: Sent / Delivered / Read
Composer placeholderiMessage
Timestamp positionbelow
Outgoing / incoming bubbles (light)#0B93F6 / #E9E9EB
Outgoing / incoming bubbles (dark)#0B93F6 / #26252A
Wallpaper dim (light / dark / black)0 / 0.35 / 0.6
Bubble alpha (light / dark / black)1 / 0.95 / 0.9

Canvas sizes are device pixels at 3×; the iMessage canvas is 1206 × 2622, i.e. 402 × 874 points on the calibrated iPhone 17 Pro (iOS 26.4). All other measurements are device-independent points. The 390 × 844 / 47 pt layout from the first spec draft is kept as an uncalibrated variant and is not the default.

Starting values, pending device calibration: TODO(calibrate).

WhatsApp-style

Green outgoing bubbles, double ticks, wallpapers, lock screens and DM layouts.

OS range
Android 13 – 15 / iOS 15 – 18
Dark-mode notes
Wallpaper dim 0.35, bubble alpha 0.95, status bar ink #FFFFFF.
WhatsApp-style detail
ParameterWhatsApp-style
Canvas (device px @3×)1080 × 2400
Logical size (pt)360 × 800
Safe top (pt)32
Status bar height (pt)24
Status barandroid · signal, wifi, battery
Island / cutout (pt)—
CalibrationB — document values, pending device pass
Header height (pt)56
Bubble max width75%
Bubble padding x / y (pt)18 / 12
Bubble radius (pt)7.5
Bubble tailpoint
Text size / line height (pt)14.2 / 19
Receiptsdouble tick
Composer placeholderMessage
Timestamp positioninside
Outgoing / incoming bubbles (light)#DCF8C6 / #FFFFFF
Outgoing / incoming bubbles (dark)#005C4B / #202C33
Wallpaper dim (light / dark / black)0 / 0.35 / 0.6
Bubble alpha (light / dark / black)1 / 0.95 / 0.9

Canvas sizes are device pixels at 3×; the iMessage canvas is 1206 × 2622, i.e. 402 × 874 points on the calibrated iPhone 17 Pro (iOS 26.4). All other measurements are device-independent points. The 390 × 844 / 47 pt layout from the first spec draft is kept as an uncalibrated variant and is not the default.

Starting values, pending device calibration: TODO(calibrate).

Messenger-style

Blue gradient bubbles with rounded geometry for DM and notification layouts.

OS range
iOS 15 – 18 / Android 13 – 15
Dark-mode notes
Wallpaper dim 0.35, bubble alpha 0.95, status bar ink #FFFFFF.
Messenger-style detail
ParameterMessenger-style
Canvas (device px @3×)1080 × 2400
Logical size (pt)360 × 800
Safe top (pt)32
Status bar height (pt)24
Status barramless · signal, wifi, battery
Island / cutout (pt)—
CalibrationB — document values, pending device pass
Header height (pt)56
Bubble max width70%
Bubble padding x / y (pt)18 / 12
Bubble radius (pt)18
Bubble tailround
Text size / line height (pt)15 / 20
Receiptsnone
Composer placeholderAa
Timestamp positioninside
Outgoing / incoming bubbles (light)#0084FF / #F0F0F0
Outgoing / incoming bubbles (dark)#0084FF / #3A3B3C
Wallpaper dim (light / dark / black)0 / 0.35 / 0.6
Bubble alpha (light / dark / black)1 / 0.95 / 0.9

Canvas sizes are device pixels at 3×; the iMessage canvas is 1206 × 2622, i.e. 402 × 874 points on the calibrated iPhone 17 Pro (iOS 26.4). All other measurements are device-independent points. The 390 × 844 / 47 pt layout from the first spec draft is kept as an uncalibrated variant and is not the default.

Starting values, pending device calibration: TODO(calibrate).

Google Messages (Android)

Material-style bubbles with RCS read receipts and dual-SIM status icons.

OS range
Android 13 – 15
Dark-mode notes
Wallpaper dim 0.35, bubble alpha 0.95, status bar ink #FFFFFF.
Google Messages (Android) detail
ParameterGoogle Messages (Android)
Canvas (device px @3×)1080 × 2400
Logical size (pt)360 × 800
Safe top (pt)24
Status bar height (pt)24
Status barandroid · dual-sim, signal, wifi, battery
Island / cutout (pt)—
CalibrationB — document values, pending device pass
Header height (pt)64
Bubble max width75%
Bubble padding x / y (pt)20 / 12
Bubble radius (pt)20
Bubble tailround
Text size / line height (pt)16 / 21
Receiptsword: Sending / Sent / Delivered / Read
Composer placeholderText message
Timestamp positioninside
Outgoing / incoming bubbles (light)#D3E3FD / #F1F3F4
Outgoing / incoming bubbles (dark)#3D4F6B / #2D2F31
Wallpaper dim (light / dark / black)0 / 0.35 / 0.6
Bubble alpha (light / dark / black)1 / 0.95 / 0.9

Canvas sizes are device pixels at 3×; the iMessage canvas is 1206 × 2622, i.e. 402 × 874 points on the calibrated iPhone 17 Pro (iOS 26.4). All other measurements are device-independent points. The 390 × 844 / 47 pt layout from the first spec draft is kept as an uncalibrated variant and is not the default.

Starting values, pending device calibration: TODO(calibrate).

Download

The same matrix as machine-readable JSON, generated from the renderer's own data at build time: specs.json. Free to cite or reuse under our terms.

Change log

— initial publication of starting values; calibration against device screenshots is pending.