Choosing a short domain for QR codes lets you use smaller, simpler QR codes that are easier to print and scan. This guide is a reference for the exact domain name length that fits in different QR code types, versions, ECC levels, and encodings.

For example, suppose your printing use-case calls for a Level 1, ECC L standard QR code, and you want to use lowercase letters in the URL which means binary encoding. The shortest URL that can be represented by this type of QR code is a 10 character domain name, like abcdefg.io or abcdef.com, with no path. So the full encoded URL would be http://abcdefg.io or http://abcdef.com. Since there is no room for a path, one 10-char domain would allow only one QR code of this type. A path at the end of the URL (eg. http://abcdefg.io/index) would exceed the character limit for this type of QR code.

If you wanted the option of generating multiple QR codes with a domain name, you would need at most an 8-char domain name, like abcde.io or abcd.com. The full encoded URL would be like http://abcde.io/a or http://abcd.com/a. There are about 36 different paths that are possible with one character. A longer path would require a shorter domain to stay within the desire QR code’s limits.

The tables below show the longest URL possible for a given QR code specification.

Reference tables: QR code capacity by version and ECC

Standard QR Code Version 1 Limits

QR VERSION MODULES ECC LEVEL ALPHANUMERIC CHARACTERS BINARY CHARACTERS
Version 1 21 L 25 17
Version 1 21 M 20 14
Version 1 21 Q 16 11
Version 1 21 H 10 7

Standard QR Code Version 1 with 2-char TLD (.io, .co)

Anything longer than the given URLs becomes a Version 2 QR code. Version 2 has more modules than Version 1, meaning either the overall QR code will be larger (takes more space to print), or the module size will be smaller (requires a higher print resolution to be scannable).

For alphanumeric encoding, the URL must be in uppercase. URL paths are case sensitive, so your server would need to properly handle the uppercase path.

ECC LEVEL NAME LENGTH ALPHANUMERIC BINARY
L 1 HTTP://A.IO/TYRANNOSAURUS http://a.io/horse
L 2 HTTP://AB.IO/HIPPOPOTAMUS http://ab.io/lion
L 3 HTTP://ABC.IO/RATTLESNAKE http://abc.io/cat
L 4 HTTP://ABCD.IO/CHIMPANZEE http://abcd.io/ox
L 5 HTTP://ABCDE.IO/ARMADILLO http://abcde.io/a
L 6 HTTP://ABCDEF.IO/ELEPHANT http://abcdef.io/
L 7 HTTP://ABCDEFG.IO/GIRAFFE http://abcdefg.io
L 8 HTTP://ABCDEFGH.IO/MONKEY -
L 9 HTTP://ABCDEFGHI.IO/HORSE -
L 10 HTTP://ABCDEFGHIJ.IO/LION -
L 11 HTTP://ABCDEFGHIJK.IO/CAT -
L 12 HTTP://ABCDEFGHIJKL.IO/OX -
L 13 HTTP://ABCDEFGHIJKLM.IO/A -
L 14 HTTP://ABCDEFGHIJKLMN.IO/ -
L 15 HTTP://ABCDEFGHIJKLMNO.IO -
M 1 HTTP://A.IO/ELEPHANT http://a.io/ox
M 2 HTTP://AB.IO/GIRAFFE http://ab.io/a
M 3 HTTP://ABC.IO/MONKEY http://abc.io/
M 4 HTTP://ABCD.IO/HORSE http://abcd.io
M 5 HTTP://ABCDE.IO/LION -
M 6 HTTP://ABCDEF.IO/CAT -
M 7 HTTP://ABCDEFG.IO/OX -
M 8 HTTP://ABCDEFGH.IO/A -
M 9 HTTP://ABCDEFGHI.IO/ -
M 10 HTTP://ABCDEFGHIJ.IO -
Q 1 HTTP://A.IO/LION http://a.io
Q 2 HTTP://AB.IO/CAT -
Q 3 HTTP://ABC.IO/OX -
Q 4 HTTP://ABCD.IO/A -
Q 5 HTTP://ABCDE.IO/ -
Q 6 HTTP://ABCDEF.IO -
H 1 - -

Standard QR Code Version 1 with 3-char TLD (.com, .net)

ECC LEVEL NAME LENGTH ALPHANUMERIC BINARY
L 1 HTTP://A.COM/HIPPOPOTAMUS http://a.com/lion
L 2 HTTP://AB.COM/RATTLESNAKE http://ab.com/cat
L 3 HTTP://ABC.COM/CHIMPANZEE http://abc.com/ox
L 4 HTTP://ABCD.COM/ARMADILLO http://abcd.com/a
L 5 HTTP://ABCDE.COM/ELEPHANT http://abcde.com/
L 6 HTTP://ABCDEF.COM/GIRAFFE http://abcdef.com
L 7 HTTP://ABCDEFG.COM/MONKEY -
L 8 HTTP://ABCDEFGH.COM/HORSE -
L 9 HTTP://ABCDEFGHI.COM/LION -
L 10 HTTP://ABCDEFGHIJ.COM/CAT -
L 11 HTTP://ABCDEFGHIJK.COM/OX -
L 12 HTTP://ABCDEFGHIJKL.COM/A -
L 13 HTTP://ABCDEFGHIJKLM.COM/ -
L 14 HTTP://ABCDEFGHIJKLMN.COM -
M 1 HTTP://A.COM/GIRAFFE http://a.com/a
M 2 HTTP://AB.COM/MONKEY http://ab.com/
M 3 HTTP://ABC.COM/HORSE http://abc.com
M 4 HTTP://ABCD.COM/LION -
M 5 HTTP://ABCDE.COM/CAT -
M 6 HTTP://ABCDEF.COM/OX -
M 7 HTTP://ABCDEFG.COM/A -
M 8 HTTP://ABCDEFGH.COM/ -
M 9 HTTP://ABCDEFGHI.COM -
Q 1 HTTP://A.COM/CAT -
Q 2 HTTP://AB.COM/OX -
Q 3 HTTP://ABC.COM/A -
Q 4 HTTP://ABCD.COM/ -
Q 5 HTTP://ABCDE.COM -
H 1 - -

Micro QR Code limits

At the time of writing, Micro QR codes are not well-supported by smartphones. For example, the iOS camera app on iPhone/iPad will not scan them. You would need to download a 3rd party app to scan them.

MICRO QR VERSION MODULES ECC LEVEL ALPHANUMERIC CHARACTERS BINARY CHARACTERS
M1 11 - - -
M2 13 L 6 -
M2 13 M 5 -
M3 15 L 14 9
M3 15 M 11 7
M4 17 L 21 15
M4 17 M 18 13
M4 17 Q 13 9

Micro QR Version 1 with 2-char TLD (.io, .co)

At the time of writing, Micro QR codes are not well-supported by smartphones. For example, the iOS camera app on iPhone/iPad will not scan them. You would need to download a 3rd party app to scan them.

MICRO QR VERSION ECC LEVEL NAME LENGTH ALPHANUMERIC BINARY
M2 L - - -
M2 M - - -
M3 L 1 HTTP://A.IO/OX -
M3 L 2 HTTP://AB.IO/A -
M3 L 3 HTTP://ABC.IO/ -
M3 L 4 HTTP://ABCD.IO -
M3 M 1 HTTP://A.IO -
M4 L 1 HTTP://A.IO/ARMADILLO http://a.io/cat
M4 L 2 HTTP://AB.IO/ELEPHANT http://ab.io/ox
M4 L 3 HTTP://ABC.IO/GIRAFFE http://abc.io/a
M4 L 4 HTTP://ABCD.IO/MONKEY http://abcd.io/
M4 L 5 HTTP://ABCDE.IO/HORSE http://abcde.io
M4 L 6 HTTP://ABCDEF.IO/LION -
M4 L 7 HTTP://ABCDEFG.IO/CAT -
M4 L 8 HTTP://ABCDEFGH.IO/OX -
M4 L 9 HTTP://ABCDEFGHI.IO/A -
M4 L 10 HTTP://ABCDEFGHIJ.IO/ -
M4 L 11 HTTP://ABCDEFGHIJK.IO -
M4 M 1 HTTP://A.IO/MONKEY http://a.io/a
M4 M 2 HTTP://AB.IO/HORSE http://ab.io/
M4 M 3 HTTP://ABC.IO/LION http://abc.io
M4 M 4 HTTP://ABCD.IO/CAT -
M4 M 5 HTTP://ABCDE.IO/OX -
M4 M 6 HTTP://ABCDEF.IO/A -
M4 M 7 HTTP://ABCDEFG.IO/ -
M4 M 8 HTTP://ABCDEFGH.IO -
M4 Q 1 HTTP://A.IO/A -
M4 Q 2 HTTP://AB.IO/ -
M4 Q 3 HTTP://ABC.IO -

Micro QR Version 1 with 3-char TLD (.com, .net)

At the time of writing, Micro QR codes are not well-supported by smartphones. For example, the iOS camera app on iPhone/iPad will not scan them. You would need to download a 3rd party app to scan them.

MICRO QR VERSION ECC LEVEL NAME LENGTH ALPHANUMERIC BINARY
M2 L - - -
M2 M - - -
M3 L 1 HTTP://A.COM/A -
M3 L 2 HTTP://AB.COM/ -
M3 L 3 HTTP://ABC.COM -
M3 M - - -
M4 L 1 HTTP://A.COM/ELEPHANT http://a.com/ox
M4 L 2 HTTP://AB.COM/GIRAFFE http://ab.com/a
M4 L 3 HTTP://ABC.COM/MONKEY http://abc.com/
M4 L 4 HTTP://ABCD.COM/HORSE http://abcd.com
M4 L 5 HTTP://ABCDE.COM/LION -
M4 L 6 HTTP://ABCDEF.COM/CAT -
M4 L 7 HTTP://ABCDEFG.COM/OX -
M4 L 8 HTTP://ABCDEFGH.COM/A -
M4 L 9 HTTP://ABCDEFGHI.COM/ -
M4 L 10 HTTP://ABCDEFGHIJ.COM -
M4 M 1 HTTP://A.COM/HORSE http://a.com/
M4 M 2 HTTP://AB.COM/LION http://ab.com
M4 M 3 HTTP://ABC.COM/CAT -
M4 M 4 HTTP://ABCD.COM/OX -
M4 M 5 HTTP://ABCDE.COM/A -
M4 M 6 HTTP://ABCDEF.COM/ -
M4 M 7 HTTP://ABCDEFG.COM -
M4 Q 1 HTTP://A.COM/ -
M4 Q 2 HTTP://AB.COM -

---