Canvas Scaler & Safe Area
See what your reference resolution does across every device you ship to.
Canvas settings
Minimises the worst device in your current selection. A starting point, not a verdict — if one device matters more than the rest, bias toward it.
Device set
Read the real numbers off the target device with Screen.width, Screen.height and Screen.dpi.
Preview — iPhone 16
The volume seller. 19.5:9 with Dynamic Island.
Device matrix — 17 devices
| Device | Screen px | PPI | Scale | Canvas units | Target | Fit |
|---|---|---|---|---|---|---|
iPhone SE (3rd) Phone | 750×1334 | 326 | 0.695 | 1080×1920 | 6.5 | fits |
iPhone 13 mini Phone | 1080×2340 | 476 | 1.104 | 978×2120 | 7.1 | −9.4% |
iPhone 14 Phone | 1170×2532 | 460 | 1.195 | 979×2118 | 7.9 | −9.4% |
iPhone 16 Phone | 1179×2556 | 460 | 1.206 | 978×2120 | 8.0 | −9.4% |
iPhone 17~ Phone | 1206×2622 | 460 | 1.235 | 977×2123 | 8.2 | −9.6% |
iPhone 17 Pro Max~ Phone | 1320×2868 | 460 | 1.351 | 977×2123 | 9.0 | −9.5% |
Pixel 9 Phone | 1080×2424 | 422 | 1.124 | 961×2157 | 8.1 | −11.0% |
Pixel 9 Pro XL Phone | 1344×2992 | 486 | 1.393 | 965×2149 | 8.7 | −10.6% |
Galaxy S25 Phone | 1080×2340 | 416 | 1.104 | 978×2120 | 8.1 | −9.4% |
Galaxy S26 Ultra~ Phone | 1440×3120 | 505 | 1.472 | 978×2120 | 8.9 | −9.4% |
Budget Android (HD+) Phone | 720×1600 | 269 | 0.745 | 966×2147 | 8.4 | −10.6% |
Galaxy Z Fold (open) Foldable | 1856×2160 | 374 | 1.390 | 1335×1553 | 11.3 | −19.1% |
Galaxy Z Fold (cover) Foldable | 968×2376 | 410 | 1.053 | 919×2256 | 7.8 | −14.9% |
iPad (10.9") Tablet | 1640×2360 | 264 | 1.366 | 1200×1727 | 15.8 | −10.0% |
iPad Pro 13" (M4) Tablet | 2064×2752 | 264 | 1.655 | 1247×1663 | 19.1 | −13.4% |
iPad mini Tablet | 1488×2266 | 326 | 1.275 | 1167×1777 | 11.9 | −7.4% |
Galaxy Tab S10 Tablet | 1848×2960 | 274 | 1.624 | 1138×1822 | 18.1 | −5.1% |
Sizes are physical pixels — what Screen.width and Screen.height return, and what CanvasScaler actually works in. "Target" is how large your 120 px reference-space button ends up in millimetres on the real panel; 9 mm matches Apple's 44 pt and Google's 48 dp, and 7 mm is the practical floor.
Rows marked ~ are 2025+ models whose exact panel specs I could not verify — treat them as representative of their size class, and use the custom device row for anything you actually ship against.
Touch targets below the floor
- iPhone SE (3rd)6.5 mm
A 120 px button in reference space lands under 7 mm on these panels. Either raise the button size, or give the smallest devices a dedicated layout — scaling alone will not fix it, because the scale factor is what shrank it.
// Generated by Canvas Scaler & Safe Area — burakkaan.dev/tools/canvas-scaler-lab
using UnityEngine;
using UnityEngine.UI;
[RequireComponent(typeof(CanvasScaler))]
public sealed class CanvasScalerSetup : MonoBehaviour
{
private void Reset()
{
var scaler = GetComponent<CanvasScaler>();
scaler.uiScaleMode = CanvasScaler.ScaleMode.ScaleWithScreenSize;
scaler.referenceResolution = new Vector2(1080f, 1920f);
scaler.screenMatchMode = CanvasScaler.ScreenMatchMode.MatchWidthOrHeight;
scaler.matchWidthOrHeight = 0.50f;
scaler.referencePixelsPerUnit = 100f;
}
}
// Or set it by hand on the Canvas:
// UI Scale Mode : Scale With Screen Size
// Reference Resolution : 1080 x 1920
// Screen Match Mode : Match Width Or Height
// Match : 0.50
//
// Minimum touch target of 120 reference px measures:
// iPhone SE (3rd) 6.5 mm <-- below the 7 mm floor
// iPhone 13 mini 7.1 mm
// iPhone 14 7.9 mm
// iPhone 16 8.0 mm
// iPhone 17 8.2 mm
// iPhone 17 Pro Max 9.0 mmMatch 0 locks to width (UI keeps its horizontal size, vertical overflows), match 1 locks to height. Anything between trades one for the other in log space.