Actual size · earned, then checked against a second object

An actual-size ruler — and what actual size costs to earn

"Actual size" is a claim, and on a screen it is a claim nothing in the browser can support on its own. A CSS inch is 96 pixels by definition, not by measurement, and on the seven displays tabulated below that definition lands anywhere from 66 per cent short to 5 per cent long. This page is the one that does the work in the open: match a card and the scale becomes yours to within a stated band, then match a sheet of A4 and see whether two independent objects agree.

Calibrationuncalibrated Referencenone matched px/mm3.780 assumed Error bandnone — not calibrated Unitin Length shown6.00 in assumed
0123456
Scale

UNCALIBRATED — assumed 96 CSS ppi

This is not actual size yet. Match a bank card to make it so.

Nothing is being withheld on this display: every graduation in the current scale is drawn.

Step one — earn it with a bank card

Hold any bank card, ID card or driving licence against the outline below and drag until the edges agree. ISO/IEC 7810 fixes the format at 85.60 by 53.98 mm, and the row that governs a card in a wallet — personalized and returned cards — allows 85.37 to 85.90 mm along the long edge. That is a bound of 0.351%, to which 0.7 mm of ordinary alignment slop across two edges adds 0.818%. Added as bounds rather than combined in quadrature, because a ± sign reads as a bound, that is the ±1.2% the readout will print, and it is a real number rather than a reassurance: on a 200 mm measurement it is 2.4 mm.

The short edge is offered and costs more — ±1.7%, because the same slop is a larger share of 53.98 mm. On a phone in portrait, where 85.60 mm will not fit across the glass, stand the card upright and match it down the screen: the reference stays the full long edge and so does the band.

324 px wide · steps of 1 px · 129–1369 px for this edge
Edge you are matching
How the card is held

Typing the diagonal your screen was sold as moves the outline to roughly the right size so there is less dragging to do. It never earns a badge and never turns anything green: it assumes the pixel count your browser reports is the panel's own, which is false under macOS scaled resolutions, false in Safari under page zoom, and false wherever a fingerprinting-resistance mode is rewriting those numbers. Once a card has been matched it also prints the two figures side by side, as a sanity check and nothing more.

Step two — check it against a second object

One measurement is a measurement. Two independent measurements that agree are evidence, and this is the only thing on the site that earns the word verified. Take a sheet of A4, match its outline the same way, and the page prints how far apart the two answers are as a percentage of their mean. Inside 1% the readout says cross-checked. Outside it, the number is printed and the card measurement stands exactly as it was.

Paper is a second opinion here and never the calibration itself, and the tool refuses it as a primary rather than warning about it. A sheet bows away from a vertical screen and that bias is systematic — it sits outside the ±1.0% the long edge earns, which covers only ISO 216's ±2 mm trim tolerance and your alignment. What paper brings instead is length: 297 mm against a card's 85.60, so the same hand slop is a much smaller share of it.

Second object
1123 px wide · steps of 2 px · 446–4752 px for this edge
Edge you are matching
How the sheet is held

NOTHING TO CHECK YET — calibrate against a card first

What a disagreement above 1% means, stated as arithmetic because a tidier sentence would overstate it: a card at ±1.2% and an A4 long edge at ±1.0% can differ by ±2.1% with both readings correct and inside their own bands, against a 1% gate. So above 1% the second object has not confirmed the first. It has not shown it wrong either, and this page will not say that it has. Re-matching the card starts again from one measurement, because the sheet agreed with a number that no longer exists.

What an uncalibrated inch actually measures

CSS defines an inch as exactly 96 pixels and a millimetre as 96/25.4 pixels, and no shipping browser resolves those units against the real geometry of the display, because no browser is told what that geometry is. The frequently repeated claim that physical units "become real" on high-density devices is an artefact of how the specification describes its anchor unit, not a behaviour anything implements. So an uncalibrated on-screen ruler is not a ruler with a small error; it is a ruler whose error is whatever the gap happens to be between your panel and 96 pixels per inch.

DisplayPanel densityPixel ratioCSS px per real inchA CSS inch renders as
24-inch 1920×108091.8 ppi191.81.046 in (+4.6%)
27-inch 2560×1440108.8 ppi1108.80.88 in (−12%)
MacBook Pro 14-inch, default scaling254 ppi21270.76 in (−24%)
13.3-inch 1920×1080 at 100%166 ppi11660.58 in (−42%)
iPhone 15460 ppi31530.63 in (−37%)
Pixel 7416 ppi2.625158.50.61 in (−39%)
15.6-inch 4K at 100%282 ppi12820.34 in (−66%)

Two things follow, and both of them are why this page is built the way it is. The errors are large enough to matter for anything anyone would actually use a ruler for — a ring, a bolt, a picture frame — and they are not in a consistent direction, so no fudge factor rescues them. And they are invisible: an uncalibrated ruler drawn at 96 pixels per inch looks exactly like a calibrated one, which is why the state of the calibration is printed beside every reading on this site instead of being inferred from how finished the page looks.

None of this applies to measuring something that is itself on the glass — an image, a button, a gap in a layout. That is a layout distance rather than a physical one, it is exact in CSS pixels without any calibration at all, and it has its own instrument.

What is measured, how it is kept, and what it cannot tell you

What is measured. The ratio between an object of known size and the pixels it covers on your display — one number, from which every reading on this page is arithmetic. The object has to be one whose dimensions a published standard fixes and whose tolerance has been read out of that standard and recorded with two independent sources, which is why exactly one object is offered as a primary and one as a check, and why the objects that were verified and withheld anyway are listed with their reasons. Marks are drawn at their exact fractional pixel positions and never snapped to whole pixels, because a snapped mark can sit up to half a pixel from where the arithmetic put it.

How it is kept. As device pixels per millimetre in your own browser storage, together with a record of what the display was reporting when you took it. Page zoom moves the browser's pixel ratio on Chrome, Edge and Firefox, and an operating-system display-scaling change moves it on Windows and on GNOME; dividing by the current ratio recovers the original figure, so the calibration survives those and says when it has corrected itself. It does not survive everything by arithmetic: Safari does not report page zoom through that ratio, and on a macOS scaled resolution the scaling factor lands in the reported pixel count instead — each of those is caught as a change to the display and re-offered for a twenty-second re-match, never corrected by a factor the page cannot see. The environment record is re-read on every visit and on a timer rather than on an event, because a pixel-ratio change can fire no events at all. Nothing is sent anywhere: the content security policy served with this site permits the page to talk to no origin, so that is enforced by the browser rather than promised in a sentence.

What it cannot tell you. Whether the screen in front of you is the screen you calibrated on. A swap to a different monitor of the same resolution is undetectable — a 1080p profile moved from a 24-inch panel to a 32-inch one is a third wrong with every signal identical — and so are casting, mirroring, an operating-system magnifier, and the same profile carried to another machine. That is the reason for the neutral states: when the display reports anything new, or when a calibration is old, the readout drops out of green and says which of those happened rather than continuing to look confident.

Questions

What does actual size mean on a screen?
That a centimetre on the ruler is a centimetre of glass, to within a band the page prints beside it. It is not something a web page can do on its own: the browser reports pixels and has no way to ask how large the display is. It becomes true when you hold an object whose size a published standard fixes against the screen and match an outline to it. Until then this page says uncalibrated, because the alternative is a ruler that looks finished and is not.
How wrong is an on-screen ruler that has not been calibrated?
Across the seven displays listed on this page, from 66 percent short to 5 percent long, and typically 25 to 40 percent short on a modern one. The spread comes from the CSS specification fixing an inch at 96 pixels whatever the panel is: a 24-inch 1080p monitor puts 91.8 pixels in a real inch, so the CSS inch overshoots, while a 15.6-inch 4K laptop at 100 percent scaling puts 282 in one and the same CSS inch renders about a third of the length.
How do I know the calibration itself is right?
Match a second object of a very different size and see whether the two agree. A sheet of A4 is 297 mm along its long edge against a card's 85.60, and paper and plastic are made to unrelated standards, so the two measurements are close to independent. The page prints how far apart the answers are as a percentage of their mean. Inside 1 percent it says cross-checked, which is the only place on this site the word verified is used at all.
The two objects disagreed by more than 1 percent. Is one of them wrong?
Not necessarily, and this page will not say that it is. A card carries 1.2 percent and an A4 long edge 1.0 percent, so two entirely correct readings can legitimately sit 2.1 percent apart against a gate set at 1 percent. Above 1 percent the second object has not confirmed the first; it has not shown it wrong either. The card measurement stands untouched and the cross-checked badge is simply withheld.
Does actual size survive a zoom, or a different screen?
A zoom, usually. What gets stored is device pixels per millimetre rather than CSS pixels per millimetre, so page zoom divides back out of that on Chrome, Edge and Firefox, and so does an operating-system display-scaling change on Windows and on GNOME: a calibration survives those, and the correction is reported rather than hidden. Safari does not report page zoom through the pixel ratio, and a macOS scaled resolution moves the reported pixel count instead, so on those two the readout leaves green and asks for another match rather than correcting a factor it cannot see. A different screen, no: nothing in a browser can detect a swap to a different monitor of the same resolution, so the page re-checks itself whenever the display reports something new and asks again after a long gap.

The other instruments