# Screen PPI Calculator

> Computes pixels per inch and per centimetre, dot pitch, total pixels, the simplified aspect ratio and the physical width and height of a display from its diagonal size and pixel resolution, plus the distance beyond which 20/20 vision can no longer resolve individual pixels.

- Calculator id: `screen-ppi` · Category: Everyday Life (`everyday`) · Tool name: `calculate_screen_ppi`
- Canonical page: https://tttkmbb.com/everyday/screen-ppi · This document: https://tttkmbb.com/everyday/screen-ppi.md · JSON definition: https://tttkmbb.com/everyday/screen-ppi.json

## Purpose

Computes pixels per inch and per centimetre, dot pitch, total pixels, the simplified aspect ratio and the physical width and height of a display from its diagonal size and pixel resolution, plus the distance beyond which 20/20 vision can no longer resolve individual pixels.

**Use when:** You are comparing monitors, phones or TVs by sharpness, need the physical width of a screen, or want to know at what distance a display looks 'retina'.

**Do not use when:** You need viewing-distance recommendations for a TV (use tv-viewing-distance) or only the aspect ratio (use aspect-ratio).

## Input

| Parameter | Type | Unit | Required | Description |
| --- | --- | --- | --- | --- |
| `diagonal_inches` | number | in | required | Screen diagonal in inches (the advertised size). (> 0, max 500) |
| `width_px` | integer | px | required | Pixels across. (min 1, max 100000) |
| `height_px` | integer | px | required | Pixels down. (min 1, max 100000) |

## Output

| Field | Type | Unit | Description |
| --- | --- | --- | --- |
| `ppi` | number | ppi | √(width_px² + height_px²) / diagonal_inches. |
| `ppcm` | number | px/cm | ppi / 2.54. |
| `dot_pitch_mm` | number | mm | Centre-to-centre pixel spacing = 25.4 / ppi. |
| `aspect_ratio` | string |  | Simplified width:height. |
| `total_pixels` | integer | px | width_px × height_px. |
| `megapixels` | number | MP | total_pixels / 10⁶. |
| `screen_width_cm` | number | cm | Active-area width = width_px / ppi × 2.54. |
| `screen_height_cm` | number | cm | Active-area height. |
| `screen_width_in` | number | in | Width in inches. |
| `screen_height_in` | number | in | Height in inches. |
| `retina_distance_cm` | number | cm | Viewing distance beyond which one pixel subtends less than 1 arcminute (20/20 acuity): dot_pitch / tan(1′). |

## Formula

`ppi = √(width_px² + height_px²) / diagonal_inches; dot_pitch_mm = 25.4 / ppi; width_in = width_px / ppi; height_in = height_px / ppi; aspect = width_px : height_px reduced by their gcd; retina_distance = dot_pitch / tan(1/60°)`

Assumes square pixels and that the quoted diagonal is the active area (manufacturers round it, e.g. a 6.1-inch phone panel gives ~457 ppi here versus the advertised 460). The 1-arcminute criterion is the classic 20/20 limit; people with sharper vision resolve about 0.6 arcminutes.

## Data Sources

- Pixel density (Wikipedia) — https://en.wikipedia.org/wiki/Pixel_density (reference, retrieved 2026-09-24)
- Visual acuity – the 1 arcminute standard (Wikipedia) — https://en.wikipedia.org/wiki/Visual_acuity (reference, retrieved 2026-09-24)

Data freshness: `static`. Deterministic formula with fixed constants; results never go stale. Inputs supplied by the caller determine the output.

## API

- `GET https://tttkmbb.com/api/v1/calculate/screen-ppi?diagonal_inches=…&width_px=…&height_px=…`
- `POST https://tttkmbb.com/api/v1/calculate/screen-ppi` with JSON body `{"inputs": {…}}`
- Response: unified envelope (`success`, `request`, `result.values`, `result.units`, `sources`, `freshness`, `timestamp`, `next_actions`, `links`); see https://tttkmbb.com/docs/response-format.md
- Schema: https://tttkmbb.com/api/v1/calculators/screen-ppi · OpenAPI operationId `calculate_screen_ppi` in https://tttkmbb.com/openapi.json
- Authentication: none. Rate limit: fair use, see https://tttkmbb.com/docs/rate-limits.md.

## MCP

- Server: `https://tttkmbb.com/mcp` (Streamable HTTP, JSON-RPC 2.0, no auth)
- Tool:  `run_calculator` with `{"calculator_id": "screen-ppi", "inputs": {…}}`

## Example

- 27-inch 2560 × 1440 monitor: inputs `{"diagonal_inches":27,"width_px":2560,"height_px":1440}` → `{"ppi":108.79,"ppcm":42.83,"dot_pitch_mm":0.2335,"aspect_ratio":"16:9","total_pixels":3686400,"megapixels":3.69,"screen_width_cm":59.77,"screen_height_cm":33.62,"screen_width_in":23.53,"screen_height_in":13.24,"retina_distance_cm":80.3}`
- 15.6-inch 1920 × 1080 laptop: inputs `{"diagonal_inches":15.6,"width_px":1920,"height_px":1080}` → `{"ppi":141.21,"dot_pitch_mm":0.1799,"aspect_ratio":"16:9","total_pixels":2073600,"screen_width_cm":34.54,"screen_height_cm":19.43,"retina_distance_cm":61.8}`

```
GET https://tttkmbb.com/api/v1/calculate/screen-ppi?diagonal_inches=27&width_px=2560&height_px=1440
```

## Limitations

You need viewing-distance recommendations for a TV (use tv-viewing-distance) or only the aspect ratio (use aspect-ratio). Assumes square pixels and that the quoted diagonal is the active area (manufacturers round it, e.g. a 6.1-inch phone panel gives ~457 ppi here versus the advertised 460). The 1-arcminute criterion is the classic 20/20 limit; people with sharper vision resolve about 0.6 arcminutes. All values are computed from the formula above; no measurement or live data is involved.

## FAQ

**What PPI counts as sharp?**

It depends on distance: at 60 cm a monitor needs about 145 ppi to hide pixels for 20/20 vision, a phone at 30 cm about 290 ppi, and a TV at 2.5 m only about 35 ppi.

**Why does my 1366 × 768 screen show 683:384?**

That is the exact reduced ratio; it is only approximately 16:9. Use aspect-ratio for the closest common ratio.

## Related

- [TV Viewing Distance Calculator](https://tttkmbb.com/everyday/tv-viewing-distance.md) — How far to sit from a screen of this size and resolution.
- [Aspect Ratio Calculator](https://tttkmbb.com/everyday/aspect-ratio.md) — Closest standard aspect ratio and resizing.
- [Pythagorean Theorem Calculator](https://tttkmbb.com/math/pythagorean.md) — The diagonal-pixel calculation is the Pythagorean theorem.
