Printer Calibration Grid

Print one sheet of your photo in labeled variations, hold it next to your screen, and find the settings that make your prints match.

Pattern

Cyan, magenta and yellow shift around the preset, as in Canon’s pattern print: yellow up, blue down, green and cyan left, red and magenta right.

Variations

Brightness changes across and contrast changes down, around the preset. Cyan, magenta and yellow stay at their preset values.

Grid

One adjustment from min to max; the other four stay at their preset values.

Preset

Every variation starts from these values. Click a variation in the preview to make it the preset; double-click a slider to put it back to 0.

Paper

Your sheet appears here
Calibration sheet

How to use it

  1. Start with Color balance and the preset at 0.
  2. Download the PNG, open it in Preview, choose File › Print and set Scale to 100%. Use the paper and quality you print photos with, and leave the printer’s own color adjustments at their defaults so the sheet’s values are the whole correction.
  3. Hold the print next to the original photo on your screen and find the variation that matches it best. Its label is your correction.
  4. Click that variation in the preview to make it the preset, lower the step, and print again to fine-tune. Then do the same with Brightness × contrast.
How the adjustments are computed
Cyan, magenta, yellow
Each ink absorbs one light primary: cyan takes away red, magenta green, yellow blue. The sheet bends that channel’s tone curve, c′ = 255 · (c / 255)γ with γ = log₂(2 / (1 − v/100)), so a 50% tone gets exactly v% more ink (or less, for negative values). Paper white and solid black never change. To repeat a value in an image editor, set that channel’s Levels midtone to 1/γ: Magenta +10 is 0.87 on green.
Color balance pattern
Each step toward a color adds that ink and takes half as much from the other two (yellow: C −5, M −5, Y +10 at step 5), so the overall density stays the same. With step 5 the 19 variations use the same values as Canon’s pattern print.
Brightness
Every channel is multiplied by 1 + v/100, like Pillow’s ImageEnhance.Brightness. Positive values clip the brightest tones to white; negative values turn white gray.
Contrast
Every channel moves away from (or toward) the photo’s mean luminance by 1 + v/100, like Pillow’s ImageEnhance.Contrast.

When several adjustments are set, contrast is applied first, then brightness, then the ink curves, the same order as the Gutenprint printer driver. Results are rounded once and clamped to 0–255. The sheet is 2480 × 3508 px (A4) or 2550 × 3300 px (Letter), portrait or landscape, whichever shows the photos larger, saved at 300 DPI in sRGB.

Your photo stays on your device: everything runs in this browser tab. Source on GitHub