Glossary Term

Micro QR Code

glossary micro qr code featured

A Micro QR code is a smaller version of the QR code with a single finder pattern instead of three. It comes in four sizes, M1 to M4, from an 11 x 11 to a 17 x 17 grid of modules. It suits spaces too small for a regular QR code, but it holds far less data and many phone cameras cannot read it.

Micro QR Code Sizes: M1 to M4

A Micro QR symbol is always smaller than the smallest regular QR code. Denso Wave, the company that invented the QR code, states that the capacity of the largest Micro QR symbol is below that of Version 1. The format was approved as JIS X 0510 in November 2004 and is also defined in ISO/IEC 18004.

Symbol Grid (modules) Total modules Width with 2-module quiet zone at 0.5 mm per module
M1 11 x 11 121 7.5 mm
M2 13 x 13 169 8.5 mm
M3 15 x 15 225 9.5 mm
M4 17 x 17 289 10.5 mm
QR Version 1 21 x 21 441 14.5 mm (4-module quiet zone)

M1 uses 27% of the modules of Version 1. M4 uses 66%. Module size is a design choice, so the printed width scales with it.

Micro QR Code Capacity

Micro QR capacity runs from 5 digits to 35 digits. Each symbol holds a different mix of data types and error correction levels. The figures below were reproduced with Segno 1.6.6 and match the published tables.

Symbol Error correction Numeric Alphanumeric Byte
M1 Detection only 5 no no
M2 L 10 6 no
M2 M 8 5 no
M3 L 23 14 9
M3 M 18 11 7
M4 L 35 21 15
M4 M 30 18 13
M4 Q 21 13 9

Byte mode, which URLs need, only exists from M3 upward. The largest byte capacity is 15 characters, at M4 and level L. Kanji mode holds up to 9 characters at M4 and is left out of the table.

How Micro QR Differs From a Regular QR Code

Four changes make the symbol smaller:

  • One finder pattern. Denso Wave says a Micro QR code has “only one position detection pattern”. A regular code has three. See QR code versions for how the regular grid scales.
  • A 2-module quiet zone. Denso Wave specifies “a two-module wide margin”, against at least four modules for a regular code.
  • Fewer error correction levels. M1 detects errors but cannot correct them. M2 and M3 offer levels L and M. M4 adds Q. Level H does not exist, so a Micro QR code cannot survive a large logo or heavy damage.
  • Small capacity. The limits suit short strings such as part numbers and serial codes, not links.

Will a Phone Scan a Micro QR Code?

Often not. Scandit, a barcode scanning vendor, states that the QR readers built into camera apps such as the iPhone camera do not support Micro QR codes. Android behaviour was not found in any official documentation, so test on the phones your audience uses.

A reader test shows how much support differs between software. Four Micro QR symbols (one each of M1 and M2, two of M3) were rendered cleanly at 8 pixels per module and decoded with two open-source readers.

Reader Micro QR symbols decoded Regular QR Version 1 decoded
zxing-cpp 3.1.1 4 of 4 yes
OpenCV 5.0.0 QRCodeDetector 0 of 4 yes

The OpenCV result applies to its QR detector only. This was a clean digital test, not a camera test. Micro QR is a poor choice for any code the public must scan.

Can a Micro QR Code Hold a URL?

No realistic web link fits. Four short test strings were encoded at level L, none of which fit in any Micro QR symbol.

String Characters Micro QR Regular QR
linkutm.com/a1b2 16 does not fit Version 1
HTTPS://LINKUTM.COM/A1 22 does not fit Version 1
https://lnk.to/ab12 19 does not fit Version 2
https://linkutm.com/a1b2 24 does not fit Version 2

A link needs a scheme, a domain and a path, which exceeds the 15-byte limit. Because no tagged URL fits, a Micro QR code cannot carry UTM parameters or use a tracking redirect. A campaign that must be measured needs a regular code on a short link.

How to Make a Micro QR Code

Most online QR generators produce only regular codes. Micro QR output is available in some barcode libraries and industrial label software. In Python, the Segno library creates one with a single flag:

import segno

qr = segno.make("0123456789", micro=True, error="L")
print(qr.designator)  # M2-L
qr.save("micro.png", scale=10, border=2)

Segno picks the smallest symbol that fits the data. Keep the border at 2 modules or more. On a black background, a code with no margin failed to decode, while margins of 1, 2 and 4 modules passed in zxing-cpp.

Frequently Asked Questions

What is a Micro QR code?

A Micro QR code is a compact QR format with one finder pattern and four sizes, M1 to M4. The grids range from 11 x 11 to 17 x 17 modules. It holds at most 35 digits or 15 bytes.

What is the difference between a QR code and a Micro QR code?

A Micro QR code is smaller and holds less. It has one finder pattern instead of three, a 2-module quiet zone instead of 4, and no level H error correction. Regular QR codes hold up to 2,953 bytes. Phone cameras are built around regular codes, and some do not read Micro QR.

How do I make a small QR code?

Shorten the data, not the format. A short link encodes as Version 1 or 2 and scans on every phone. Micro QR makes the grid smaller but cannot hold a link and some phone cameras cannot read it.

Can I use a Micro QR code generator for a marketing campaign?

Not for a public campaign. A Micro QR code cannot hold a URL, so it cannot open a page or carry tracking. It fits internal use, such as part labels read by dedicated scanners.

To print compact codes that every phone can scan, generate a short-link QR code with linkutm.