| Physically bigger pixels help a lot indeed. The encoding mode also helps make pixels bigger. This is very convenient when you control the QR reader and need to represent long numeric identifiers like UUIDs. For example: 9728983f-7d7d-4189-b624-f92781e36650 (lowercase UUID):
=> length=36, 15 pixels between markers
JWM9GFVXFN0RKDH4Z4KR3RV6A0 (base32 UUID):
=> length=26, 11 pixels between markers
9728983F-7D7D-4189-B624-F92781E36650 (uppercase UUID):
=> length=36, 11 pixels between markers
200924207194334734815443970355691218512 (decimal UUID):
=> length=39, 7 pixels between markers
The uppercase UUID has bigger pixels because it used a different encoding, and gets the same results as the shorter base32 uuid.The decimal UUID is a longer string, but results in much bigger pixels because it can use numeric encoding. I have a QR code base attendance tracker [1], where attendees show the code [2] on their phones (glares, etc.), in bad lighting conditions, etc. Bigger pixels means scanning stays quick. Same with parcel tracking [3] where field agents might need to scan QR codes in barely-lit hallways, etc. [1] https://workspace.google.com/marketplace/app/qr_code_pass_fo... [2] https://share.darkaa.com/!qntvtzNPWJ [3] https://admin.trak.codes/ |
[1] https://datatracker.ietf.org/doc/html/rfc9285