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.