Printer tests · Print-true
Printer alignment test page
A printable alignment sheet with vernier offset ladders for both axes, a registration grid at a 20 mm pitch, and a duplex front-and-back pair for checking that the second side lands where the first one did. Each ladder has nine rungs in a symmetric series centred on a labelled zero, and your browser draws the whole sheet at true millimeter size. There is no watermark or sign-up, and nothing you do here leaves your device.
Adjust
Print at 100% or "Actual size": at any other scale the rung labels are wrong by the same percentage. The page refuses steps below 0.1 mm and draws nothing, because the ticks themselves are 0.08 mm wide.
Details
How this alignment test page works
Print at 100% ("Actual size"), check the two reference rules at the foot with a ruler (100 mm and 4 inches long), then read the ladders. The measurement is a vernier. In each of the nine rungs the second row of ticks is shifted by that rung's offset, and the offsets form a symmetric arithmetic series centred on zero: at the default 0.2 mm step they are −0.80, −0.60, −0.40, −0.20, 0.00, +0.20, +0.40, +0.60, +0.80 mm, each printed beside its rung. The rung whose two rows of ticks join into one unbroken set is your reading, and its label gives the displacement between those rows on your paper. There is always a zero rung and it is always labelled, because a ladder with no zero cannot tell you that nothing is wrong. The left ladder shifts its ticks horizontally along the carriage axis; the right one shifts them vertically along the paper feed. On the sheet their headings begin "Side-to-side (carriage)" and "Feed direction (paper advance)". Set the offset step anywhere from 0.1 to 2 mm and the whole series rescales with it: at a 0.5 mm step the rungs run from −2.00 to +2.00 mm. The Step readout shows the step and the range of the series, and the foot of every ladder sheet repeats the rung count, range and step, so a print you keep records how it was made. The grid-only and duplex patterns carry no ladder, so there the step control has no effect and the Step readout says so. Pick "Vernier ladders only" to give the ladders the whole page, or "Registration grid only" for the grid alone.
The registration grid under the ladders is a lattice of crosses at exactly 20 mm, with corner marks at the grid's own corners, for judging skew and drift against the paper's edges. The duplex pattern draws that grid on a front sheet and a back sheet, each titled with its side, and the front carries a one-line reminder to print both sheets double-sided and hold them to a light. Paper size, orientation and margin change how many crosses fit, where the ladders sit and how far apart their rungs are, and a wide margin can leave some rungs with fewer ticks. The offsets and the grid's 20 mm pitch stay the same. Everything is SVG geometry in real millimeters, and the page declares your paper size to the browser at print time, so nothing in the pipeline has a reason to rescale. Scale matters more here than anywhere else on this site, because you read the result off a label: a dialog printing at 94% shrinks every printed offset by 6%, so the labels no longer match the paper and nothing on the sheet looks wrong. The marks are drawn in sRGB values, not CMYK ink, and the sheet is almost all black, because alignment is a question of geometry and color would only add variables. The "Est. ink" figure is worked out from the geometry as it is drawn, which is why the ladder-only pattern comes to 0.3% on a default Letter sheet against 0.5% for the full sheet. Because every displacement is known and printed at true size, you can see the finest one your printer resolves. An offset step below 0.1 mm would displace a 0.08 mm tick by less than its own width, so the page refuses it and draws nothing; a step above 2 mm is clamped, with a note.
This ladder cannot separate a correctly aligned head from a misaligned one. Your printer's own alignment utility can read a head offset because it lays the two halves of each rung down in different carriage passes, or from different heads. This page hands your driver a single document with both rows of every rung drawn in the same ink at the same moment, and which pass or head puts them on the paper is firmware's decision. So on a sheet laid down in one pass the 0.00 rung is the one that reads continuous whatever the head is doing, and a rung label is the displacement between two printed rows, not a number to enter in a driver; that number comes from your printer's own utility. The page also cannot measure printed color, because a browser has no instrument on the output side and reading a printed mark takes a colorimeter or a spectrophotometer.