Reference tables
QR alignment pattern position table — versions 2 to 40
Alignment pattern centres sit at fixed coordinates per version, tabulated in Annex E of ISO/IEC 18004. The first centre is always at module 6, the last always seven modules from the far edge, and a version with n coordinate values carries n² − 3 patterns — from one at version 2 to 46 at version 40.
How the coordinates work
Each version lists a set of row/column values. Alignment patterns — 5 × 5 concentric squares — are placed at every (row, column) combination of those values, except the three combinations that would collide with the corner finder patterns. So n coordinate values give n² − 3 patterns. Version 1 has no alignment patterns at all.
Coordinates are the centre module, counted from 0 at the top-left. This table is verified against the pattern-geometry module in UseQR's own renderer, which carries the ISO/IEC 18004 Annex E values.
The table
| Version | Modules | Centre coordinates | Patterns |
|---|---|---|---|
| 2 | 25 | 6, 18 | 1 |
| 3 | 29 | 6, 22 | 1 |
| 4 | 33 | 6, 26 | 1 |
| 5 | 37 | 6, 30 | 1 |
| 6 | 41 | 6, 34 | 1 |
| 7 | 45 | 6, 22, 38 | 6 |
| 8 | 49 | 6, 24, 42 | 6 |
| 9 | 53 | 6, 26, 46 | 6 |
| 10 | 57 | 6, 28, 50 | 6 |
| 11 | 61 | 6, 30, 54 | 6 |
| 12 | 65 | 6, 32, 58 | 6 |
| 13 | 69 | 6, 34, 62 | 6 |
| 14 | 73 | 6, 26, 46, 66 | 13 |
| 15 | 77 | 6, 26, 48, 70 | 13 |
| 16 | 81 | 6, 26, 50, 74 | 13 |
| 17 | 85 | 6, 30, 54, 78 | 13 |
| 18 | 89 | 6, 30, 56, 82 | 13 |
| 19 | 93 | 6, 30, 58, 86 | 13 |
| 20 | 97 | 6, 34, 62, 90 | 13 |
| 21 | 101 | 6, 28, 50, 72, 94 | 22 |
| 22 | 105 | 6, 26, 50, 74, 98 | 22 |
| 23 | 109 | 6, 30, 54, 78, 102 | 22 |
| 24 | 113 | 6, 28, 54, 80, 106 | 22 |
| 25 | 117 | 6, 32, 58, 84, 110 | 22 |
| 26 | 121 | 6, 30, 58, 86, 114 | 22 |
| 27 | 125 | 6, 34, 62, 90, 118 | 22 |
| 28 | 129 | 6, 26, 50, 74, 98, 122 | 33 |
| 29 | 133 | 6, 30, 54, 78, 102, 126 | 33 |
| 30 | 137 | 6, 26, 52, 78, 104, 130 | 33 |
| 31 | 141 | 6, 30, 56, 82, 108, 134 | 33 |
| 32 | 145 | 6, 34, 60, 86, 112, 138 | 33 |
| 33 | 149 | 6, 30, 58, 86, 114, 142 | 33 |
| 34 | 153 | 6, 34, 62, 90, 118, 146 | 33 |
| 35 | 157 | 6, 30, 54, 78, 102, 126, 150 | 46 |
| 36 | 161 | 6, 24, 50, 76, 102, 128, 154 | 46 |
| 37 | 165 | 6, 28, 54, 80, 106, 132, 158 | 46 |
| 38 | 169 | 6, 32, 58, 84, 110, 136, 162 | 46 |
| 39 | 173 | 6, 26, 54, 82, 110, 138, 166 | 46 |
| 40 | 177 | 6, 30, 58, 86, 114, 142, 170 | 46 |
The pattern behind the table
Three regularities hold for every version:
- The first coordinate is always 6 — centred in the timing-pattern row/column.
- The last is always modules − 7 — seven from the far edge.
- Every gap is an even number, which keeps alignment pattern centres on the same black/white phase as the timing patterns.
The gaps after the first are always equal; the first gap absorbs the remainder, and not in a way any single obvious rounding rule reproduces. Compare version 32 (gaps 28, 26, 26, 26, 26 — first gap larger) with version 36 (gaps 18, 26, 26, 26, 26 — first gap smaller). Because no clean formula regenerates all forty rows, every serious implementation embeds the table verbatim — including the one this page was checked against.
Why the count jumps where it does
New coordinate values arrive at versions 7, 14, 21, 28 and 35 — every seventh version — so the pattern count steps 1 → 6 → 13 → 22 → 33 → 46. A version 6 code (41 modules) has a single central pattern; version 7 (45 modules) suddenly has six. This is why codes on curved surfaces get noticeably more reliable once the payload pushes the symbol past those thresholds: more anchors for the decoder to fit the grid to. Module counts per version are in the version and module table.
FAQ
How many alignment patterns does a QR code have?
None at version 1, one at versions 2–6, then 6, 13, 22, 33 and finally 46 at versions 35–40. The count is n² − 3 where n is the number of coordinate values for that version.
Where is the alignment pattern in a small QR code?
Versions 2–6 have exactly one, centred at (18, 18) to (34, 34) depending on version — always at coordinate modules − 7 in both axes, tucked toward the bottom-right.
Is there a formula for alignment pattern positions?
Almost. First coordinate 6, last modules − 7, equal even gaps between the rest — but the first gap absorbs rounding slack inconsistently across versions, so implementations embed the ISO/IEC 18004 Annex E table instead of computing it.
Why do alignment patterns skip the three corners?
The corners are occupied by the 7 × 7 finder patterns and their separators. The coordinate grid would place patterns there, so those three combinations are explicitly excluded.
Try it — free, no signup
Related
- QR code version and module count table — Every QR version's module count follows one formula: 17 + 4 × version. Version 1 is 21 × 21 modules and version 40 is 177 × 177. This table lists all…
- QR error correction capacity table — data vs EC codewords — Data codewords versus error-correction codewords for every QR version and level, from 19 + 7 at version 1-L to 1,276 + 2,430 at version 40-H.
- Alignment patterns — the small squares that fix distortion — 5×5 alignment patterns anchor the decoder's sampling grid. Version 1 has none; the count grows to 46 at version 40, at positions fixed by ISO/IEC 18004.
- QR code versions 1 to 40 — sizes, capacity and how to choose — Versions run from 21×21 to 177×177 modules, growing 4 per step. The right version is the smallest that fits your payload at your error-correction level.