A plain text QR code encodes arbitrary text — whatever string you specify — that gets displayed when the code is scanned. Unlike a URL QR code, which opens a browser, a text QR code just shows the text on screen. The user can copy it, share it, or read it; nothing else happens automatically.
This is the simplest, most flexible type of QR code. It’s also the rarest in marketing materials, because most of the time you actually want the scan to do something (open a website, dial a number, save a contact). Text QR codes are best when you specifically want to deliver information without triggering an action.
When to use a plain text QR code
The pattern: anywhere you want to deliver text without triggering a browser, dialer, email app, or anything else.
Common cases:
- Voucher codes and one-time passwords — print on direct mail, packaging, or receipts
- Authentication codes for setup — connecting devices, paired login flows
- Ticket and confirmation numbers — scan at the box office for quick text-display rather than DB lookup
- Recipe or formula details — chemistry, cooking instructions, technical specs that don’t belong on a web page
- Geocaching and scavenger hunt clues — clues that should display directly rather than redirect
- Educational materials — short text content delivered in physical workbook or activity context
- Translations — print a sign in English, encode the same content in another language for scanning
- Lyrics, quotes, poems — physical art or installations where the text is the point
- Identifier codes — equipment serial numbers, asset tags, room IDs
If you’re considering a text QR code for any commercial purpose, ask yourself: “Would my user be better served by opening a page where I have more layout control?” Usually the answer is yes, and a URL QR code is the better choice. Reserve text QR codes for true cases where you want plain text delivery.
How a plain text QR code works under the hood
The QR pattern simply encodes the string. No protocol prefix, no special format — just the raw text:
This is the literal text that will be displayed when scanned.
When a phone scans this, it detects that the content is not a URL, email, phone number, WiFi credential, or vCard. So instead of triggering an action, it displays the text and offers options to:
- Copy the text
- Share the text via the system share sheet
- (Sometimes) Search Google for the text
The text just sits there, available to read or copy.
Static or dynamic?
Plain text QR codes are almost always static — the entire point is to encode static content directly into the pattern. Dynamic doesn’t help for this use case (a dynamic QR would just encode a redirect URL, which defeats the “no URL action” reason for choosing a text QR in the first place).
If you find yourself wanting “updatable text content” — change what the QR displays without reprinting — you don’t actually want a text QR. You want a URL QR pointing to a simple hosted page with that text.
How to create a text QR code in QRSync
- Open the generator.
- Select “Plain Text” as the QR code type.
- Enter your text — anything from a single word to a paragraph.
- (Pay attention to length) — keep under 500 characters for scannable codes; under 1,000 if the print size is generous.
- Customize the design — colors, logo, style.
- Test scan — verify the text displays correctly. Scan with multiple devices to catch any character issues.
- Download in PNG, SVG, or PDF.
Length and density
This is the main thing to watch with text QR codes. Every character increases the QR’s data load, which makes the pattern denser:
- <50 characters: small, easy-to-scan codes at any size
- 50–200 characters: still manageable, slightly denser pattern
- 200–500 characters: dense; needs larger print size to scan reliably
- 500–1,000 characters: very dense; only viable at large print sizes
- >1,000 characters: rarely worth it — print bigger, or use a URL QR with a hosted page
A simple test: if you can’t read the QR pattern’s structure (the three corner squares are still visible, but the modules between them look like noise from arm’s length), the code is too dense for typical phone scanning.
Design tips for text QR codes
- Print a hint about what the QR contains. “Scan for instructions” or “Scan for code” tells the user what to expect — important because text QRs are less familiar than URL QRs.
- Use very high contrast. Text QRs are often denser than URL QRs (same data length without the protocol prefix savings), so they’re harder to scan. Compensate with high contrast.
- Print larger than you’d think necessary. Text QRs benefit from extra size more than URL QRs do.
- Avoid logos for dense codes. A logo overlay reduces the available scanning area further, which dense text QRs can’t afford. Save the logo for cleaner URL QRs.
Common mistakes
- Encoding a URL as a text QR. The user has to manually copy and paste it. Use a URL QR instead so the browser opens automatically.
- Encoding too much text. A 2,000-character text QR is technically possible but practically unscannable. Use a URL QR pointing to a hosted page for long content.
- Forgetting Unicode quirks. Emoji and non-Latin characters mostly work but sometimes display as placeholder squares on older devices. Test on a few phones if your audience might have older hardware.
- Encoding sensitive information. A QR code is not encrypted. Anyone with a scanner sees the content. Don’t encode passwords for shared systems, financial information, or anything that needs protection.
When you should use a different type
Quick decision flow:
- Want to open a website? → URL QR code
- Want to share contact info? → vCard QR code
- Want to start an email? → Email QR code
- Want to start a phone call? → Phone QR code
- Want to start a WhatsApp chat? → WhatsApp QR code
- Want to share WiFi credentials? → WiFi QR code
- Just want to display some text? → Text QR code
The other types exist because the action they trigger (open browser, dial number, open chat) is usually what you want. Text QR codes are the option for the cases where you specifically don’t want that.
Ready to make one?
Create your plain text QR code — free, takes 20 seconds. Keep the text short, test the scan, print large enough for your scan distance, and you’ll have a working text QR.