Write the message
Short beats long: text becomes modules fast, and a paragraph makes a grid that wants to be scanned from very close. Under 100 characters keeps it comfortable.
Free tools · No account, no watermark
A text QR code carries the message itself — no website, no redirect, no connection needed. The scanner's phone simply shows what you encoded, which makes it the right tool for serial numbers, batch details, locker combinations for staff, or instructions that must work in a basement with no signal.
Because there's nothing to host, there's nothing to expire and nobody to depend on: the code will show the same text in twenty years. That permanence is also the constraint — what you print is what it says, forever.
Pick a look
Error correction
Logo
This is the app's own renderer and its own scannability check, running in your browser — the logo included never leaves your device. Every preset on this shelf is decode-audited before it ships.
Scannability: Excellent
No watermark, no account. Print-grade: whole pixels per module.
Raw text, shown by the phone on scan. No URL, no network — the message lives in the grid, so it works with no signal at all.
How to get it right
Short beats long: text becomes modules fast, and a paragraph makes a grid that wants to be scanned from very close. Under 100 characters keeps it comfortable.
Scan the preview — the phone shows the raw text exactly. If the message contains a URL the phone will offer to open it, which may or may not be what you want.
Asset labels get scanned in-hand — small is fine. Anything read at distance needs the module size a shorter message buys.
The honest catch
What you make here is a static code: the content is encoded in the grid itself, it never expires, and it needs nothing from us to keep working — print it and forget us. The one thing it can never do is change. A dynamic code encodes a short link you can repoint any time after printing, counts every scan, and can carry your own domain. That's the paid product, and it starts with a free trial.
Questions
No — nothing is fetched. The text is in the grid and the phone decodes it locally, which is exactly why it suits plant rooms, basements and field equipment.
Technically a few thousand characters; practically, keep it under a hundred or so. Density costs scan distance, and a QR code that needs perfect focus at 5 cm fails in real hands.
More free generators
Unlimited static codes on every plan. Dynamic codes you can repoint after printing, on your own domain.