Checkerboard, print-ready.
calibrx.io · 9×6 squares · 8×5 inner corners · 20 mm
Printed it?
Start calibratingFreeCheckerboard generator
Checkerboard pattern generator for camera calibration
Generate a black-and-white checkerboard (chessboard) calibration target with exact rows, columns and square size, preview it live and download a PDF, SVG or PNG that prints at true scale. It works with OpenCV’s findChessboardCorners, with MATLAB’s Camera Calibrator and with CalibrX.
When to use it
When to use a checkerboard
The checkerboard is the classic calibration target: its inner corners refine to sub-pixel accuracy and every calibration tool supports it.
The trade-off is that the whole board has to be visible in every photo. Detection fails if a single row is cut off, so it suits controlled captures where the board stays in frame. For views that reach into the image corners, a ChArUco board is the safer choice.
| Setting | Recommended | Why |
|---|---|---|
| Squares | 9 × 6 or 10 × 7 | One side even, the other odd, makes the board’s orientation unambiguous. MATLAB requires it and OpenCV benefits from it. |
| Inner corners | Squares minus one on each side | OpenCV and MATLAB count inner corners: a 9 × 6 board has 8 × 5 = 40. |
| Square size | 20–30 mm on A4 | Large enough to detect at your working distance. Measure the printed square and use that value. |
| White border | Keep the margin around the board | The quiet white edge helps the detector find the board. Do not trim it off. |
Detect it
Detect a checkerboard with OpenCV
import cv2
# a 9 x 6 board has 8 x 5 inner corners
pattern = (8, 5)
gray = cv2.imread("view.jpg", cv2.IMREAD_GRAYSCALE)
found, corners = cv2.findChessboardCornersSB(gray, pattern)
print("found" if found else "not found")findChessboardCornersSB is the more robust detector in OpenCV 4; pass the inner-corner count, not the squares. Or skip the code: upload your photos to CalibrX and it detects the board and calibrates the camera for you.
FAQ
Checkerboard — common questions
What is the difference between squares and inner corners?
Generators count squares; OpenCV and MATLAB count the inner corners where four squares meet. A board with 9 × 6 squares has 8 × 5 inner corners, so you pass (8, 5) to findChessboardCorners.
Why is my checkerboard not detected?
Usually part of the board is outside the frame, the photo is blurred, or glare hides some corners — every inner corner has to be visible. Keep the white border, print on matte paper and try findChessboardCornersSB, which copes better with blur and lighting.
Checkerboard or ChArUco board?
Checkerboard corners are marginally the most precise, but only when the whole board is in view. Views reaching into the image corners matter most for lens distortion, and there a ChArUco board keeps working when a checkerboard would be cut off.
More targets
Other calibration boards
ChArUco
ChArUco board generator
Checkerboard corners with ArUco IDs: the most forgiving target for calibrating any lens.
ArUco
ArUco marker generator
Single markers or grid boards from the real OpenCV dictionaries, for tracking and pose estimation.
Circle grid
Circle grid generator
Asymmetric or symmetric dot patterns whose centres stay accurate in slightly soft images.
All in one
Calibration pattern generator
Every target in one tool, with a side-by-side comparison of when to use each.
These targets follow the pattern geometry used by OpenCV. Read the official OpenCV calibration-pattern guide or continue with the CalibrX online calibration workflow.
Reviewed by the CalibrX engineering team · Updated September 2026.