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 |
- |
---