Text QR Code Generator
Encode a message, not an action.
Type your text below. Scanning simply displays it on screen. Nothing opens, nothing is dialed, no network is contacted. It is the only type here that works with no signal whatsoever.
Customize
Scanning opens the phone's default maps app centered on this point.
The end time must be after the start time.
Leave the date blank to preview with a sample event. Defaults to a 1-hour event if no end time is set.
This content is too long to encode in a QR code. Shorten it before downloading or saving. Why there's a limit.
Colors Templates, code and background, eyes
Quick color templatesReady-made pairs that fill in the code and background colors below. A starting point, not a limit; change either afterwards. 30 ready-made pairs
Pick a preset to fill in the dot and background colors below, or skip this and choose your own.
Light backgroundsLight dots read fine on dark backgrounds on screen, but most scanners are tuned for dark-on-light -- test before printing at volume. Scan reliability tips.
No background means no contrast check. Place this on a light, solid area; a dark or busy backdrop will stop it scanning. Scan reliability tips.
These colors are close in tone and may be hard for some scanners to read. Consider more contrast. Choosing colors that scan.
Shape & style Dots, corners, eyes, roundness
Logo Your artwork, or one of ours
Manage these under Assets in your profile.
Use only artwork you have the right to use. A logo you add is yours to clear: trademarks and copyright belong to whoever owns them.
Drawn for this product, so there is nothing to clear. These are yours to use.
Create a free account to save this logo and reuse it on any code.
This logo isn’t in your library, so saving this code won’t keep it, and the code will reopen without it. Save the logo above first.
We tested this against a real scanner: codes start failing between 16% and 20% of the area, so 15% is the safe ceiling. How we measured it.
Advanced Frames and captions, minimum size, download size
Preview
Nice one. Want to keep this design?
Create a free account and this exact style, colors, shapes and logo, is one click away next time. Free accounts also get 2 dynamic QR codes you can repoint after they are printed.
Dynamic QR codes redirect to a web address, so they're available for the URL and WhatsApp types. Other types encode their content directly and can't be repointed later.
Made in your browser. Nothing is sent to us unless you save it to your account. Check it yourself
Open your browser's developer tools and switch to the Network tab, then build a code.
You will see this page load its own files: a stylesheet, two typefaces from Google Fonts, and our analytics. Like most sites, this one loads those. What you will not see is a request carrying the link you typed, the contents of your code, or the image itself, because the code is drawn here on your device and there is nowhere for it to be sent.
Its real advantage is that it needs nothing
Every other type here ends in something happening: a browser opens, a dialler fills, a network prompt appears. This one ends with words on a screen, and that constraint is the feature.
No connection, no app, no server, no dependency on this site continuing to exist. A text code printed today reads identically in twenty years in a basement plant room with no reception. That is a genuinely different reliability class from anything that resolves a URL.
Where that matters:
- Equipment and asset labels. Serial numbers, model numbers, service dates, calibration records.
- Field instructions. A short procedure on a machine, a valve, a breaker panel.
- Inventory and warehouse tags, where a scanner app captures the value straight into a system.
- Places with no signal. Plant rooms, cellars, shipping containers, remote sites, underground.
If you want someone to do something, use another type
A text code puts the burden of acting back on the reader. Show a phone number as text and they have to memorize it and switch apps; a phone code puts it in the dialler. Show a web address as text and they have to type it; a link code opens it.
Choose text when the message genuinely is the point: a reference, a value, a caution, a set of words someone needs to read or copy. Choose a purpose-built type whenever there is an action attached, because those produce a tappable prompt and this does not.
Length is the constraint, and it is measured in bytes
Every character is encoded directly, so these get dense faster than people expect. A sentence is comfortable. Several paragraphs produce a grid too fine to scan at any sane printed size.
The hard ceiling is 1,273 bytes and the generator refuses anything longer, but treat a couple of hundred characters as the practical limit for something being printed and read at arm's length.
Note that is bytes, not characters. Accented letters, non-Latin scripts and emoji each consume two to four bytes, so a message well under 1,273 characters can still be rejected. A code full of emoji becomes dense several times faster than plain ASCII. See QR code capacity for the underlying numbers.
Frequently asked questions
Will scanning it open a browser?
No, and that is the defining property of this type. Most phone cameras show the text as a notification or an on-screen banner with an option to copy or share it, and nothing else happens.
Can I include a URL in the text?
You can, and most phones will render it as tappable, but a link code is more reliable and produces a cleaner prompt. Use text when the message is the point and any link in it is incidental.
Do line breaks survive?
They are encoded, but how they are displayed is entirely up to the scanning app and some collapse them. Do not rely on layout; keep the message readable as a single block of prose.
Can I use emoji or non-English characters?
Yes, both are supported. Just be aware they eat the capacity budget several times faster than plain ASCII, so the code becomes dense quickly.
Is the text hidden or encrypted in any way?
No. A QR code is an encoding, not encryption. Anyone with a phone can read it, and anyone with a photo of it can read it later. Never use one to conceal anything.