A text QR code stores your message inside the code itself, so scanning it shows the text on the phone with no website involved. It works without an internet connection on the scanner's side, cannot be edited after printing, and is readable by anyone who scans it. The generator builds it in your browser and does not store your text.
Update, 2026-09-19: we fixed a bug that garbled non-English text. Accented letters, Japanese, Chinese, Korean, Cyrillic, and emoji were encoded incorrectly and decoded as empty or corrupted text. If you printed a text code containing any of those characters before this date, regenerate it.
How do you make a text QR code?
- Type or paste the text: a note, a serial number, a short instruction, a code.
- Look at how dense the code looks. If it is crowded, shorten the text.
- Download PNG or SVG, then scan the downloaded file with your phone.
How much text fits, and what does it cost?
The absolute limit is high: DENSO WAVE lists 7,089 digits, 4,296 alphanumeric characters, or 2,953 bytes for the largest code at the lowest error correction. But capacity is not the practical limit. Every extra character adds modules, and the same physical size means smaller modules that a camera has to resolve.
The kind of text also matters, because QR codes pack digits and capital letters more efficiently than mixed text. The grid sizes below were measured with the QR library this generator uses (Level M, automatic mode selection):
| Length | Digits only | Capital letters | Mixed text with lowercase |
|---|---|---|---|
| 50 characters | 25 × 25 | 29 × 29 | 33 × 33 |
| 100 characters | 29 × 29 | 37 × 37 | 41 × 41 |
| 300 characters | 49 × 49 | 57 × 57 | 69 × 69 |
Practical consequences: a serial number made of digits is far cheaper than the same length in mixed case, and a paragraph pushes the code to a 69 × 69 grid, which needs a large print. If you print an asset tag, keep the text short and consider a code that points to a record instead.
Does non-English text work?
Yes, now. The generator encodes text as UTF-8, the encoding phones expect, so accents, Cyrillic, CJK, and emoji come out correctly. Note that non-ASCII characters take two to four bytes each, so a message in Japanese or with many emoji produces a denser code than the same number of English letters.
When is plain text the wrong type?
| If the scanner should… | Use |
|---|---|
| open a page | the URL type. Plain text that looks like a link is not always made tappable |
| join Wi-Fi | the Wi-Fi type, not a password in plain text |
| save a contact | the vCard type |
| call, text, or email | the phone, SMS, or email type |
| simply read a short message or an ID | plain text |
What are good uses?
- Asset and equipment tags that need to work in basements, warehouses, and plant rooms without signal, carrying an ID or "Property of Acme, ID 5521".
- Offline puzzles and scavenger hunts where each clue is the text itself. See scavenger hunt QR codes.
- Short instructions or codes such as a voucher number, a locker combination reminder, or a lot number.
Who can read the text?
Anyone who scans or photographs the code. It is not encrypted and not private, so do not put passwords, personal data, or sensitive medical information in one. A code on a public object should carry only what you would be happy to see on a printed label. Health information in particular deserves care; see healthcare QR codes.
How do phones show it?
Behavior varies by phone, camera app, and settings. Some show the text in a preview with copy or search options, and some open a search or ask which app to use. No list covers every combination, so scan your final code on the devices your audience will use, and print a one-line instruction such as "Scan to read the note" beside it.
How do you test it?
Scan the exported file, read every character, and compare it with the original. For special characters, check them one by one. Run the file through the QR validator for contrast and margin, and use the print size guide for size. For limits and background, read QR code character limits.
References
How the measurements were made: grid sizes were computed on 2026-09-19 with the QR library this generator uses, at error correction level M, using repeated digits, repeated capital letters, and repeated mixed-case text. This measures grid size, not scan success.