Online ruler · calibrated against a card you already own
An online ruler that is actual size — and says how wrong it might be
Below is a working ruler. Until you match the outline to a bank card it is drawn from the CSS specification's assumption that an inch is 96 pixels, which is wrong on almost every display, and the readout says so in those words. One twenty-second match replaces the assumption with a measurement of your own screen, and every reading after that carries the error band it actually earned.
UNCALIBRATED — assumed 96 CSS ppi
This is not actual size yet. Match a bank card to make it so.
Half-millimetre marks are not drawn on this display — they would land 1.9 device pixels apart, and below 3 they blur into a grey band instead of reading as marks. This screen would need 153 ppi.
Match the outline to a bank card
Hold any bank card, ID card or driving licence against the screen, along the outline below, and drag the slider until the two edges line up. Every one of those cards is the same object to the standard that governs it: 85.60 by 53.98 mm nominal, and the tolerance on that is where the ruler's error band comes from. A card and an A4 sheet are the two objects this site offers, and the calibration walkthrough and reference table says which others were checked and why they are withheld.
Two ways to hold it, and the choice is worth a third of the error band. Laid flat across the screen the long edge needs 85.60 mm of width, which a phone in portrait does not have — an iPhone 15 is about 64 mm of glass, a Pro Max about 71, an SE about 58. Stood upright against the same phone the full long edge fits down the screen instead, so the reference stays 85.60 mm and the band stays ±1.2% rather than widening to the short edge's ±1.7%. On a tall screen this page starts you on the upright mode for that reason and says so under the ruler; the page about measuring on a phone carries the geometry in full.
A stated screen size moves the outline near where it probably belongs, so there is less dragging to do. It is not a calibration 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 privacy mode is rewriting those numbers. Once you have matched a card it also prints the two figures side by side, which is a sanity check and nothing more.
The readout turns green for one thing only: a reference match you completed. A stored calibration whose display has since changed, one old enough to be worth re-checking, one that failed its own checks on the way back in, and a live pinch-zoom are all reported in neutral, because none of them is a measurement.
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 unchanged.
Paper is a second opinion here and never the calibration itself, and the tool refuses it as one rather than warning about it. A sheet bows away from a vertical screen, and that bias is systematic — it is not inside the ±1.0% the long edge earns, which covers only ISO 216's ±2 mm and your alignment. What paper has instead is length: 297 mm against a card's 85.60, so your hand's slop is a much smaller share of it.
NOTHING TO CHECK YET — calibrate against a card first
What a disagreement above 1% means, stated because the arithmetic says something a tighter-sounding sentence would not: a card at ±1.2% and an A4 long edge at ±1.0% can legitimately 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.
Marks this ruler will not draw
A printed graduation is a claim that the distance between two marks is what the label says, and on a raster display that claim needs the marks to survive as marks. One pixel of line and two of clear gap is the floor — at a two-pixel pitch a comb aliases into flat grey and there is nothing left to count — so a graduation needs three device pixels of pitch before it is drawn at all. Half-millimetre marks need 6.0 device pixels per millimetre, which is 152.4 pixels per inch, and the two commonest desktop monitors in the world are below it:
| Display | Device px per mm | 1 mm marks | ½ mm marks |
|---|---|---|---|
| 24-inch 1920×1080 | 3.61 | yes | no |
| 27-inch 2560×1440 | 4.28 | yes | no |
| 13.3-inch 1080p at 100% | 6.54 | yes | yes |
| 14-inch laptop retina panel | 10.00 | yes | yes |
| Recent flagship phone | 18.11 | yes | yes |
| 55-inch 1080p television | 1.57 | no | no |
So on those screens the level is dropped, and the note under the ruler above says which level went and what density the screen would have needed to keep it. Competitors draw the marks anyway. The difference is not visible in a screenshot, which is exactly why it is written down.
The tools on this site
-
Millimetres
Millimetre rulerTwenty centimetres of millimetre scale, with half-millimetre marks drawn only on displays dense enough to separate them and the omission named when they go.
-
Inches
Inch rulerEight inches in halves, quarters, eighths, sixteenths and thirty-seconds, labelled as fractions, with the fraction-to-millimetre table served in the page.
-
Phones
Ruler on a phoneThe card's long edge is wider than a phone in portrait. Stand it upright and keep the full 85.60 mm reference, or take the short edge and see the wider band as a number.
-
Actual size
Actual-size rulerWhat "actual size" costs to earn: the uncalibrated error across seven real displays, and the second object matched against the first with the agreement reported.
-
On the screen
Screen rulerA different job — measuring an image or an interface element on the glass rather than an object held against it, in CSS pixels, with what a CSS pixel is and is not.
-
On paper
Printable rulerA ruler drawn in true millimetres for the sheet in your printer, with a card outline and a 100 mm bar printed beside it so you can check the printer did not scale it.
-
Method and evidence
Calibration, step by stepThe full walkthrough, the two reference objects that are offered, the ones that are withheld with the reasons recorded, and the published source behind every dimension.
What is measured, how it is kept, and what it cannot tell you
What is measured. A browser cannot ask the display how large it is. It reports CSS pixels, and the CSS specification defines an inch as exactly 96 of them whatever the panel actually is — so a ruler drawn straight from that number is correct only by coincidence. The one measurement that fixes this comes from you: hold an object of known size against the glass, match the rendered outline to it, and the ratio between the object's real millimetres and the outline's pixels is this display's scale. Marks are then drawn at their exact fractional pixel positions and never snapped to the pixel grid, because snapping moves a mark by up to half a pixel — 0.13 mm on a typical monitor, which over a 10 mm reading would be a larger error than the band this page prints.
How it is kept. What gets stored is device pixels per millimetre, not CSS pixels per millimetre. Page zoom moves the browser's pixel ratio on Chrome, Edge and Firefox, and so does an operating-system display-scaling change on Windows and on GNOME; dividing by the current ratio returns the original figure, so the calibration survives those — measured across four display scales, 100 mm rendered at the same device-pixel width every time. Two cases are caught rather than corrected: Safari does not report page zoom through the pixel ratio, and a macOS scaled resolution moves the reported pixel count instead. Both leave green and ask for another twenty seconds, which is what the witnesses are for: alongside the density the page records what the display was reporting — pixel ratio, native pixel count, browser chrome, layout scale — and compares them on every visit and on a timer, because a pixel-ratio change can fire no events at all. There is one record and every ruler here that needs a calibration reads it, so a card matched here is a card matched on the millimetre ruler, the inch ruler, the actual-size ruler and the phone page — it does not travel to another browser, another device or another site, because browser storage is kept per site and per browser and nothing here is sent anywhere.
What it cannot tell you. Two limits, stated because they are real. First, no ruler in a browser can detect a change to a different monitor of the same resolution: moving a 1080p profile from a 24-inch panel to a 32-inch one is a third wrong with every signal on the page identical. Casting, mirroring, screen magnifiers and a same-profile move to another machine are undetectable for the same reason, which is why the calibration is re-checked when the display reports anything new and re-offered after a long gap. Second, the error band bounds the object's dimensional spread and your alignment. It does not model holding the card off the glass at an angle, screen curvature, or paper flexing against a vertical panel — those are handled by which objects are offered at all, not by inflating a number until it means something other than what it says.