Plain Text
Text QR Code Generator
Encode any text message, note, or information into a QR code. Scan to reveal — no app required and no internet connection needed.
Colors
Style
Logo
Error correction is boosted automatically when a logo is added so your code stays scannable.
Live preview
1024pxFill in the content to generate your QR code.
Free forever. No watermark, no sign-up.
Ideas
Where to use text QR codes
Instructions & how-to
Print setup steps, recipes, or user guides on packaging so customers scan for details without a web link.
Discount codes & coupons
Encode a promo code on a flyer or receipt that customers scan and copy — no URL needed.
Announcements
Share event details, schedule changes, or notices that display without requiring a web page.
Product information
Add ingredients, care instructions, or serial numbers to products without printing long text on the label.
Tips
Tips for text QR codes
Keep text concise
Longer text creates denser QR codes that are harder to scan. Aim for under 300 characters for reliably scannable results in most contexts.
No internet required to scan
Text QR codes work fully offline. The message is decoded from the image itself — great for areas with poor or no connectivity.
Most special characters work
Letters, numbers, and punctuation are fully supported. Emoji may display differently depending on the device used to scan.
Raise error correction for dense codes
If your text is long, use High or Max error correction so the code still reads even if it gets slightly smudged or damaged.
FAQ
Text QR code questions
QR codes can technically encode up to around 4,000 characters, but codes with more than a few hundred characters become very dense and harder to scan reliably. For long content, linking to a web page is a better option.
No. The text is decoded entirely from the QR image. No internet connection is needed — perfect for packaging, print, and offline environments.
No special app is needed. The built-in camera on iPhone (iOS 11+) and Android reads QR codes automatically and displays the text on screen.
Line breaks are supported. Rich formatting like bold or HTML is not — the text displays exactly as typed, without additional styling.