Smaller QR codes for URLs
For historical reasons, QR codes have four different encodings they use depending on the characters they need to represent. Purely numeric codes use the most efficient encoding, then alphanumeric, then binary, then kanji (historical reasons). The thing is, “alphanumeric” here only includes capital letters, not lowercase letters. Specifically, it’s 0-9, A-Z, space, and $%*+-./: which is enough to encode a url AS LONG AS YOU ONLY USE UPPERCASE.
If your url includes lowercase letters, it’ll fall through and get encoded as binary (Latin-1) instead, which is significantly longer, leading to a larger QR code.
(h/t Why are QR Codes with capital letters smaller than QR codes with lower-case letters? )