Methodology · calibration, storage and limits

Ruler calibration, error bands and limits

Real Sizer turns a visual match with a bank card into a screen scale. This page explains that calculation, the error band shown with it, and how a saved calibration is checked. It also covers the cases that need a fresh match, even when the readout is still green.

Assumed density3.7795 CSS px/mm Alignment bound0.7 mm Card long-edge band±1.2% References offered2 of 16 Readout states7 · two of them green Reference data verified2026-08-09

What is measured, saved and checked

What is measured. Calibration measures one ratio: how many of your display's pixels cover a millimeter. No browser is told the physical size of the screen it draws on, so you supply that ratio by matching an outline to a clean, smooth-edged reference held just above the display without touching it. Every millimeter, inch and fraction the calibrated ruler draws comes from it. Marks sit at their exact fractional pixel positions. Snapping them to whole pixels would move a mark by up to half a pixel, which is 0.13 mm at the uncalibrated density.

How it is kept. The tool saves the match as device pixels per millimeter, together with the display readings the browser reported at the time, and compares those readings on later visits. A pixel-ratio change is corrected by arithmetic, and the readout names the correction. Any other change it detects takes the readout out of green and asks for a re-check. The browser-specific cases are below. Nothing is sent anywhere: the calibration stays in your browser, and the site's content security policy blocks connections to outside origins.

What it cannot tell you. The tool cannot see which object you are holding, and it cannot tell two screens apart when both report the same resolution and settings. Casting, mirroring and magnifiers change the size of the final image without changing any reading the page takes. All of these fall outside the calibration's error band.

What this site claims

The calibrated ruler makes four claims.

  1. A green reading applies your match. It means the saved record passed every state check, and a centimeter drawn on screen is a centimeter to within the band printed beside it, as long as you matched the right reference on this same display.
  2. The band is worked out for the reference and edge you used. It adds the object's permitted dimensional spread to a fixed alignment allowance and covers those two sources of error only.
  3. Closely spaced marks are omitted. A graduation level whose pitch falls below three device pixels is dropped. The readout names the omitted level and the density needed to show it.
  4. Nothing leaves your device. Your calibration is held in one record in your own browser's storage, including the density, reference and display readings. There are no accounts, analytics or uploads.

How a calibration is taken

Use a bank card, ID card or driving license in ISO/IEC 7810 format ID-1, with nominal dimensions of 85.60 by 53.98 mm. Use one that is clean, flat, undamaged and smooth-edged; hold it just above the display without touching it, do not press or slide it on the glass, and look square-on while you drag the outline until the edges agree. Any extra gap or tilt is outside the printed band. For the long edge, the tool divides the matched width in CSS pixels by 85.60 mm to get pixels per millimeter. The outline travels from 129 to 1369 CSS pixels across the long edge, which is 1.5 to 16 pixels per millimeter: enough to cover a living-room television used as a browser at one end and a 13-inch 4K laptop at 100% scaling at the other. A match left at either end of that travel is refused, because the control has run out of room and the real edge could lie farther out.

The control chooses a step small enough to stay within 0.35% of the outline being matched. For a card near the uncalibrated desktop scale, a single-pixel step is 0.31%. A shorter reference needs a finer step to provide the same relative adjustment.

The edge and orientation are separate choices. The edge determines the reference length and error band; the orientation determines whether the outline runs across or down the screen. Changing direction does not change the calculation. On a phone, the 85.60 mm long edge may fit down the portrait screen even when it is too wide to fit across it.

The band, in full

The calibration band uses this formula:

band% = object tolerance% + (0.7 mm / reference length in mm) × 100

The first term is the dimensional tolerance recorded from the object's standard. The second is an assumed alignment allowance of 0.7 mm across the pair of edges you line up, the same for every reference, so two references differ only by their lengths and their published tolerances. The terms are added, not combined in quadrature, so the band allows for both errors pushing in the same direction. The result is rounded up for display. The standard's tolerance describes a conforming object under the standard's conditions, and a worn card or sheet can fall outside it.

Reference and edgeNominalObject toleranceAlignment slopPrinted band
Bank card, long edge85.60 mm0.351%0.818%±1.2%
Bank card, short edge53.98 mm0.371%1.297%±1.7%
A4 sheet, long edge297.00 mm0.673%0.236%±1.0%
A4 sheet, short edge210.00 mm0.952%0.333%±1.3%

The same 0.7 mm alignment allowance is 1.59 times larger as a share of the card's 53.98 mm short edge than of its 85.60 mm long edge. That makes the printed short-edge band half a percentage point wider. Use the long edge when it fits; use the short edge with the wider band when it does not.

What an uncalibrated screen shows

CSS defines an inch as exactly 96 pixels, and a millimeter as 96/25.4 = 3.7795 pixels. Browsers use those figures as fixed layout conversions and do not check them against the screen. Before calibration, this ruler draws at that 96 pixels per inch, so its real size depends on the panel's density and on the scaling between CSS pixels and the display. The table below works that size out for seven displays from the panel density and pixel ratio in each row.

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%)

The examples run both larger and smaller than physical size, so no single correction factor fixes them. A ruler drawn at 96 pixels per inch looks just like a calibrated one, which is why the ruler prints its calibration state beside every reading. The uncalibrated state is neutral: it means no match has been made yet. Keep hard or abrasive objects away from the display; use the printable ruler or another physical ruler for those jobs.

Measuring a distance within the page itself is a different job. The CSS pixel ruler measures layout distances, such as the span between its handles, in CSS pixels and uses no physical calibration.

How a calibration is kept

The ruler draws in CSS pixels, but it stores the matched density in device pixels per millimeter and converts with the browser's reported pixel ratio:

D_phys = ppmm_css × devicePixelRatio, and on any later visit ppmm_css = D_phys / devicePixelRatio.

Page zoom in Chrome, Edge and Firefox changes that ratio, and so does an operating-system display-scaling change on Windows and GNOME. Dividing the stored density by the current ratio gives the right CSS scale, so the calibration survives both. That was measured: one calibration, four operating-system display scales, and a 100 mm span drawn as 378.5 device pixels at every one of them. Safari page zoom and macOS scaled resolutions work differently and get separate checks, described below.

The saved display snapshot contains the pixel ratio, reported native pixel count, browser chrome width and height, viewport width in device pixels, layout scale, pinch scale, the measured width of a CSS inch, and, when available, the ratio of pointer travel on the screen to travel within the page. The privacy policy names all ten of those fields individually and lists the rest of the calibration record. The page compares these readings on each visit, whenever the browser fires a relevant event, and on a timer. The timer is there because a pixel-ratio change can happen without any event: in testing, the ratio went from 1 to 3 and back with the viewport fixed, and the browser fired nothing.

The stored record has checks of its own:

Once a calibration is more than about six months old, the readout leaves green and asks for another twenty seconds with a card. The match may still be right; after that long, the page has no way to know what has changed.

Where those claims stop

These are the limits of the ruler, its saved ratio and its printed band.

Moving to another monitor

This page cannot detect a move to a different monitor of the same resolution. Take a 1080p calibration from a 24-inch panel to a 32-inch one: the reported resolution, pixel ratio, window, browser chrome and CSS-inch width all stay the same, while the glass is a third larger. The ruler is then 33% wrong, in green, with a ±1.2% band printed beside it. After any move to another screen, calibrate again, even though nothing on the page has asked you to. This case is also why a calibration is re-offered after about six months.

Casting, mirroring and magnifiers

A tab cast or mirrored to a television or projector is rescaled after the browser has drawn it, and an operating-system magnifier, such as the accessibility zoom on macOS and Windows, enlarges the final image the same way. None of the page's own readings change, so the readout stays as it was. Use the ruler on the display where you matched the reference, without casting or magnification. If the saved record is copied to another machine, match again there: the page notices that move only when the new display reports different readings.

Marks this ruler will not draw

Each graduation level needs a pitch of at least three device pixels, center to center: one pixel of line and two pixels of clear gap. Closer than that, the marks blur together or alias into a flat gray band with nothing left to count, so the ruler leaves that level out. The threshold depends only on the calibrated density.

GraduationStepDevice px per mm neededDensity needed24-inch 1080p (3.61)27-inch 1440p (4.28)
Millimeters1 mm3.076.2 ppiyesyes
Sixteenths of an inch1.5875 mm1.948.0 ppiyesyes
Thirty-seconds of an inch0.79375 mm3.896.0 ppinoyes
Half-millimeters0.5 mm6.0152.4 ppinono

At the densities shown, neither display meets this ruler's threshold for half-millimeter marks. The lower-density example also omits thirty-second-inch marks. When a level is dropped, the page names it and prints the density that would have kept it, rounded up to the next whole pixel per inch so the printed figure is never below the real threshold.

Which reference objects are offered

The site's data holds sixteen reference objects. One is offered as a primary reference: the ID-1 bank card. A sheet of A4 is offered as a cross-check. The other fourteen are refused by name, each with its reason.

An object becomes selectable only after its dimensional tolerance has been read from a published standard and recorded with the clause, the derivation, at least two independent sources and a verification date. When the engine loads the data, it checks that those fields are present and withholds any row that lacks one. The fields are required because a tolerance guessed too small would understate the band while every other step of the arithmetic still came out right. Banknotes, US Letter sheets and coins are in that position today: their nominal sizes are listed on the calibration page, but no tolerance has been recorded for them, so they cannot be selected.

Two withheld objects do have recorded tolerances. The older-style ID-2 card would give a narrower modeled band, about ±1.0% against the ID-1 card's ±1.2%, but the two formats are easy to confuse. The ID-2 long edge is 22.7% longer than the ID-1 edge, so choosing the wrong format would put the ruler about 23% out before alignment even enters. A mini-SIM would have a ±3.6% band and can be confused with a nano-SIM, a different form factor with a 103% long-edge size difference relative to the smaller card. The tolerance band does not cover choosing the wrong object. The outline match cannot tell the page which card you are holding.

Paper is accepted only as a cross-check: ask the tool to calibrate from paper and it refuses and asks for a card match first. A sheet's long edge keeps the relative alignment allowance small, but a sheet can bow away from a vertical screen, and that bias is systematic and falls outside the band arithmetic.

What the band does not model

A bowed or damaged card, any gap or tilt while the reference is held above the display, parallax between the cover glass and the pixels, and screen curvature all fall outside the printed band, and any of them can be larger than it. The page cannot measure any of them. Use a flat, undamaged reference, keep it off the glass and look at it square-on. If you cannot hold it steady enough to compare the edges, use a physical ruler.

Browser zoom and altered display readings

The stored-density formula corrects a scale change when the browser reports that change through the pixel ratio. Safari (WebKit, on macOS and iOS) leaves the pixel ratio unchanged on page zoom, so there the tool watches the page layout and, when available, the pointer. When those readings show a zoom, the readout leaves green, says the calibration may be stale and asks for a re-match; it does not guess a correction factor. On macOS scaled resolutions the scaling factor lands in the reported pixel count while the pixel ratio stays put, so the saved density describes the framebuffer, and a change in that count is treated as drift. Fingerprinting-resistance modes, such as those in Firefox, Tor and Brave, can alter or restrict the values these checks read. The tool does not identify those modes. It discards and reports a record that fails validation, but altered values that still pass can put the ruler at the wrong scale.

This site keeps no database of device screen sizes. Resolution and pixel ratio do not identify a panel: Android devices can share those values, and iOS Display Zoom, macOS scaled resolutions and privacy settings change what is reported. The screen diagonal you can type in only starts the outline near the expected size and gives a sanity check. It does not count as a calibration or earn a green badge; the reference still has to be matched.

The cross-check threshold is tighter than the bands

When a second, independent reference agrees with the first to within 1%, the state becomes cross-checked, the only readout state on this site that earns the word verified. Above 1%, the tool reports the disagreement and leaves the original calibration unchanged. The threshold is tighter than the two bands: a card at ±1.2% and an A4 long edge at ±1.0% can differ by 2.1%, using the unrounded model terms, with each reading inside its own band. So a disagreement above 1% means the second object did not confirm the first; it does not show that the first was wrong. Every cross-check uses the same fixed 1% threshold.

How the reference figures are kept

Each verified reference row records its date, its sources, the standard clause and the arithmetic that turns the dimensional tolerance into a percentage. Writing that arithmetic out makes a derivation checkable without fetching the standard again, and it caught a unit error in an earlier draft of the card's short-edge figure: a difference in millimeters had been entered as a percentage, which understated that tolerance by a factor of 1.85.

Each row carries its own verification date, and re-checking a row moves only that row's date. The bank card, the A4 sheet and the withheld ID-2 and mini-SIM rows carry dates and sources; the other rows do not. The calibration page prints every row, including the refusals and their reasons.

Questions

Why does an on-screen ruler need calibrating at all?
Because CSS fixes an inch at 96 CSS pixels and the browser cannot measure the screen it draws on, only a match against a real object can set the ruler's physical scale. In the seven calculated examples on this page, a CSS inch ranges from 66 percent short to 4.6 percent long, and the six that come out short are typically 25 to 40 percent short: the median and the mean of those six both fall in that range. Each example is worked out from the density and pixel ratio in its row of the table.
Where does the plus or minus 1.2 percent come from?
From two terms added together. The card's permitted spread is 0.351 percent of its 85.60 mm long edge, taken from the personalized and returned card row of ISO/IEC 7810:2019. Lining up two edges by eye gets an assumed allowance of 0.7 mm across the pair, which is 0.818 percent of the same edge. Adding them allows for both errors pushing in the same direction, and the sum is rounded up to ±1.2 percent. A damaged card, a gap or a tilt adds error outside that figure.
What happens to my calibration when I change my screen?
Zoom and display-scaling changes are corrected or caught; a move to another monitor of the same resolution is not. In Chrome, Edge and Firefox, page zoom moves the browser's pixel ratio, as does a display-scaling change on Windows or GNOME, and the saved density divides that back out, so the calibration survives and the readout names the correction. Safari does not move the pixel ratio for page zoom, and a macOS scaled resolution changes the reported pixel count instead, so in those cases the readout leaves green and asks you to match the card again, which takes about twenty seconds. On iOS Safari this was measured on 2026-08-09: a page zoom took the readout out of green, and a pinch showed that nothing on screen is to scale while it is held. A monitor swap at the same resolution changes none of the readings, so a 1080p calibration carried from a 24-inch panel to a 32-inch one draws 33 percent too large while the readout stays green. Whenever you switch screens, match the card again.
Why will this ruler not draw half-millimeter marks on my monitor?
Because the monitor has too few pixels per millimeter to draw them apart. The ruler draws a graduation level only when its marks sit at least three device pixels apart, center to center, so half-millimeter marks need a calibrated density of 6.0 device pixels per millimeter, or 152.4 pixels per inch. The table's 24-inch 1080p and 27-inch 1440p examples have 3.61 and 4.28 device pixels per millimeter. Closer marks would blur together, so the ruler leaves the level out and names it in the readout.
Why is only one primary reference offered?
Because the bank card is the only primary reference that has a verified tolerance and is not withheld. An offered reference needs a recorded dimensional tolerance, its derivation, at least two independent sources and a verification date. A4 paper meets that too, and the tool accepts it only to check a card match. Of the other fourteen objects, the ID-2 and mini-SIM cards also meet it but stay withheld, because each is easy to confuse with another card format. The rest have no verified tolerance, and the tool refuses each unavailable object by name.

Where the evidence lives