All three are QR codes in the wider sense, from the same family. They differ in shape, size and, most of all, in who can read them.
| QR | Micro QR | rMQR | |
|---|---|---|---|
| Shape | Square, 21 to 177 modules | Square, 11 to 17 modules | Rectangle, 7 to 17 high, 27 to 139 wide |
| Finder patterns | 3 | 1 | 1, plus a smaller one |
| Quiet zone | 4 modules | 2 modules | 2 modules |
| Most digits | 7,089 | 35 | 361 |
| Most bytes | 2,953 | 15 | 150 |
| Error correction | L, M, Q, H | L, M, Q | M, H |
| Phone camera apps | Yes | Not documented | Not documented |
The largest figures are at the lowest error correction level each one offers.
How to choose
- People will scan it with their phone: QR. Nothing else is safe.
- A tiny label read by your own scanner: Micro QR, for a part number or a short serial.
- A long, narrow strip read by your own scanner: rMQR.
Micro QR and rMQR also take less styling: in our tests ZXing-C++ read them only with a square finder pattern, so keep it square.
On the command line
qrencode makes QR and Micro QR codes. -M switches to Micro QR, with the
2-module margin as its default:
qrencode -M -l L -s 10 -o part.png "PART-0042"
qrencode does not make rMQR codes, and zbarimg does not read Micro QR or
rMQR. The ZXing-C++ library reads and
writes all three.
Micro QR and rMQR are small, so the encoding mode matters. Digits only are the
most compact. Upper-case letters, digits, space and $ % * + - . / : use the
alphanumeric mode, which holds more than lower case does.