How much text fits
A QR code stores text in the most compact of three modes that fits it. Digits only is the tightest, capital letters with digits and a few symbols come next, and everything else is stored one byte at a time. The capital letter mode covers 0 to 9, A to Z, a space and these symbols: $ % * + - . / :
These are the limits of the largest code, which has 177 by 177 squares. Each line gives digits, then capital letters and symbols, then any other characters:
- Low (7%): 7,089, 4,296 or 2,953
- Medium (15%): 5,596, 3,391 or 2,331
- Quartile (25%): 3,993, 2,420 or 1,663
- High (30%): 3,057, 1,852 or 1,273
Mixed text is split into stretches and each is stored in its best mode, so the real limit for your text sits between these figures. The tool tells you when it does not fit.
Stay far below the limit if you can. At medium error correction, 100 digits make a 29 by 29 code, while 100 lowercase letters make 41 by 41.
Languages, emoji and line breaks
Text is stored as UTF-8, the encoding most of the web uses. Plain English letters take one byte each. Accented letters such as é take two, most Chinese, Japanese and Korean characters take three, and emoji take four.
That means 100 Chinese characters use 300 bytes and make a 69 by 69 code at medium level, the same as 300 English letters would.
Line breaks are stored, so an address or a short poem keeps its lines. Scanner apps differ in how they show line breaks and non-English text, so test with the apps your audience is likely to use.
What a phone does with a text code
Most scanner apps show the text and offer to copy it or search for it. If the text looks like something else, they may treat it that way: a web address may be offered as a link, an email address as an email and a phone number as a call. If you want a link to open, use the Link kind, which adds https:// so every scanner recognises it.
Plain text is not secret. It is stored as readable text and any scanner can show it, so do not put passwords, account numbers or private notes in a code that is on display. For Wi-Fi, use the Wi-Fi kind: phones then offer to join the network instead of just showing a password.
- Good uses: serial and part numbers, inventory labels, a short note on a lost and found tag, a table or locker number, a short message on a card.
- Poor uses: anything long (put it on a page and use a link), and anything private.
Keep text codes easy to scan
Shorter is better, because fewer characters mean fewer, bigger squares. If you control the format of what you encode, capital letters and digits save space. 150 characters of capitals and digits make a 41 by 41 code at medium level, while the same text in lowercase makes a 49 by 49 one.
Use the lowest error correction that suits where the code will live: L for screens, M for clean print, and Q or H for stickers that will get scuffed. For colours, logos and print size, see the QR code generator page.