QR Code Forever

Text QR code generator

Turn any plain text into a QR code with this text QR code generator: a serial number, a coupon code, instructions or a short note that phones show on screen when scanned. The code is static, so it never expires and nothing is fetched from a server. It is free with no sign-up, generated entirely in your browser, and verified by a real scanner before you download it.

Content: Text

Style
Style preset
Contrast 21:1

PNG, JPG or SVG up to 2 MB. It stays on your device.

Your codes on this device

Off by default. When on, each downloaded code (type, content, style) is saved in this browser only, never uploaded. You can delete them at any time.

How to make a text QR code

  1. Type or paste your content into Text. Line breaks are kept, so a short list or a two-line note comes out the way you wrote it.
  2. Watch the capacity line under the preview: it shows bytes, version and module count as you type and warns near the limit.
  3. Leave Error correction on Auto for short text; pick L only if a long passage will not fit at a higher level.
  4. Open the Style panel for a Style preset, colours or a logo; a logo switches error correction to H, which reduces capacity.
  5. Wait for the badge to read Verified: scans as text, then choose Download PNG, Download SVG or Download PDF.

Text QR code generator details

A text QR code holds a string of characters and nothing else: no address, no format prefix, no instruction to the phone. The generator encodes whatever you type as UTF-8 bytes, so the scanner receives exactly the characters you entered, including line breaks, punctuation and non-Latin letters. With no link involved, the phone opens nothing; it simply shows the text.

What scanners do with plain text

The iPhone camera and Google Lens on Android both show the content in a panel, usually with a copy button and a search option. Nothing happens without a tap, and no app opens on its own. If the text looks like a web address most phones offer to open it, but the reliable way to make a link is the URL generator, which stores the https:// prefix cameras look for.

Capacity and the live meter

The byte-mode limits are 2,953 bytes at error correction L, 2,331 at M, 1,663 at Q and 1,273 at H. Those figures are for a version 40 code, 177 modules on each side, far too fine to print. The meter under the preview counts bytes as you type: a 40-character coupon code sits in version 3 (29 × 29 modules) at M, while a 150-word paragraph of around 900 bytes needs version 24, 109 modules wide. Plain letters and digits are one byte each; accented Latin, Greek, Cyrillic, Arabic and Hebrew letters take two; Chinese, Japanese and Korean characters take three; emoji take four. The same message in Japanese therefore produces a denser code than in English.

Realistic uses

  • Serial numbers and asset tags. A code on a machine that reads SN-2026-0417 lets a technician copy it into a form without typing errors.
  • Instructions. A short reset procedure on a device, or a care label on a garment.
  • Coupon and voucher codes. The customer scans, copies and pastes at checkout; nothing needs to be online at that moment.
  • Poems, dedications and notes. A few lines on a wedding favour, a greeting card or a plaque.

Why long text is a problem

A code that is too dense fails on paper. A module in a version 20 code (97 across) is a third the width of one in a version 4 code (33 across) printed at the same size, and a camera needs each module to cover several pixels. Keep to a few hundred bytes for anything printed small; for more, put the text on a web page and link to it. The size guide gives the minimum print width for each module count and scanning distance.

This code never expires

The characters are stored inside the code itself, so what someone reads in five years is exactly what you typed today. This is a static QR code: the data is written into the pattern, so scanning it needs no server, no account and no subscription. There is nothing to renew and no redirect that can be switched off, which is why a code made here keeps working for as long as the printed copy exists. The trade-off is honest: a static code cannot be edited after printing and does not count scans. If you need either, encode a link to a page you control. Read how static and dynamic codes differ, and if a code you already have has stopped working, see why QR codes expire.

Styling, formats and print size

Every code can be styled in the Style panel: six dot shapes, corner shapes, solid or gradient colours, a transparent background, a quiet zone of 0–8 modules, and your own logo up to 30 percent of the width. A contrast checker warns below 3:1 and blocks downloads below 1.5:1, and after each change the preview is decoded again so the badge tells you whether the styled code still scans.

OutputBest forNotes
PNGWeb, documents, quick prints256 to 4096 px; transparent background supported
SVGDesigners and print shopsVector, scales without limit; logo embedded
PDFPrinting at an exact sizeVector modules at a chosen width in mm or inches, optional caption
JPGPlatforms that reject PNGWhite background; no transparency
EPSLegacy print workflowsVector from the module matrix, no logo
Copy / PrintPasting into a document; a quick paper testPNG to the clipboard; print view with caption

Print size: as a rule of thumb the code should be at least one tenth of the scanning distance wide, with the quiet zone included.

Scan distanceMinimum width
0.5 m (arm's length)5 cm
1 m10 cm
2 m20 cm
5 m50 cm

Short text up to about 50 bytes prints well at 2–3 cm; a code above version 10 (57 modules) should be at least 5 cm across and downloaded as SVG or PDF for a print shop.

The QR code size guide has a calculator for module size, DPI and distance.

Frequently asked questions

Does a text QR code expire?

No. The text is encoded directly into the pattern; no website or server is involved when it is scanned, so there is nothing that can be switched off or lapse. It only stops making sense if the text itself goes out of date, such as a price.

How much text can this text QR code generator hold?

Up to 2,953 bytes at error correction L, 2,331 at M, 1,663 at Q and 1,273 at H. That is the limit of a version 40 code and far too dense for print, so treat a few hundred bytes as the practical maximum. The meter under the preview shows how many bytes you have used.

What happens when someone scans a text QR code?

The phone shows the text on screen, usually with options to copy it or search for it. It does not open a browser, send a message or take any action on its own. If the text looks like a number or an address, some phones add a shortcut, but nothing runs without a tap.

Can I use emoji, Chinese characters or accented letters?

Yes. The generator encodes UTF-8, so every character you can type is preserved. They cost more space: accented Latin and Cyrillic letters take two bytes each, Chinese, Japanese and Korean characters three, and emoji four. The capacity meter counts bytes, not characters, so it always tells the true size.

Why does my text code look so dense compared with a link code?

A short link is 20 to 40 bytes and sits in a version 2 or 3 code. A paragraph of text is easily 500 bytes, which needs version 17 or higher at M, with 85 modules on each side. Shorter text, error correction L, or moving the text to a web page all bring the module count down.

Can I put a link in a text QR code?

You can type one, and most phones will notice it and offer to open it, but scanner behaviour with plain text varies. For a reliable link banner that opens the page on tap, use the URL generator on the home page, which stores the address as a proper link with the https:// prefix.

Can I add a logo to a text QR code?

Yes, from the Style panel. Uploading a logo switches error correction to H, which cuts the capacity to 1,273 bytes and makes the code denser for the same text. For short text that is no problem; for a long passage, leave the logo off. The verification badge confirms the styled code still decodes.

Is there a limit on line breaks or special characters?

No. Line breaks, tabs, quotes, semicolons and symbols are all ordinary characters in a text code, and the generator does not escape or alter them. Each line break counts as one byte. What you see under Show encoded text is exactly what a scanner will show.

Last updated . QR Code is a registered trademark of DENSO WAVE INCORPORATED. Open-source engines are listed on the how it works page.