RoboTargets

Calibration target generator

ChArUco, plain checkerboard, and Kalibr AprilGrid as true-vector PDF at exact physical dimensions. Free, and it runs entirely in your browser — nothing is uploaded.

Print bordered, at 100%. Borderless mode enlarges the image so ink runs off the sheet edge — about +0.7% on a 24″ sheet. Your calibration will converge and look fine while every distance it reports is wrong. Turn off fit-to-page, scale-to-media and margin correction, then measure the board and use the number you measured.
Pattern
Geometry
Set your parameters and generate.

Notes

Everything is vector. Each square and each marker cell is a filled rectangle written straight into the PDF. No image is rasterised anywhere in the chain, so the only dimensional error in your printed board comes from the printer and the paper.

ChArUco layout matches OpenCV. Square (col,row) is black when col+row is even, and markers sit centred in the white squares numbered row-major from the top-left — so cv2.aruco.CharucoBoard detects it directly.

AprilGrid follows Kalibr. Tags are numbered row-major from the bottom-left, which is the opposite vertical order from ChArUco. Pitch is tagSize × (1 + tagSpacing). The YAML button gives you a matching config.

Measure before you trust it. Put calipers across three squares, not one — short spans hide accumulated error. Whatever you measure is what belongs in your calibration config, not the nominal value.