Text QR Code Generator
Create a QR code that stores plain text directly inside the code. Customize the matrix, finder eyes, colors and frame, then export the finished QR code.
This generator keeps the GS1 Digital Link URI directly inside the QR code. Premium QR dynamic redirects are not used for GS1 Digital Link codes.
Advanced Customization
Colors & Gradients
Logo & Social Icon
QR Code Size
Text QR Code Generator
Quick answer: A text QR code encodes plain text in the QR symbol with no URI scheme. Scanning it displays the text on screen rather than opening an app or browser. A Version 40 QR code at error correction level L holds up to 4,296 alphanumeric characters or 2,953 bytes of arbitrary text.
How to create a text QR code
- Type or paste your text into the input field. There is no minimum length.
- Choose an error correction level: L for the smallest code, H for the most damage tolerance.
- Customise the pattern style, finder-eye shape, colours and logo if needed.
- Check the live preview — a very long text at a small size will produce a dense symbol; increase the export size if the preview looks crowded.
- Download the finished code as PNG, SVG, WEBP or JPG at 512, 1024, 2048 or 4096 px.
The QR code is built in your browser as you type. Nothing you enter is sent to a server.
What a text QR code is
A text QR code is a standard QR code whose payload is a plain string — not a web address, not a tel: number, not a mailto: link, just the text itself. The symbol follows ISO/IEC 18004:2015, the international standard defining QR Code symbology. When a device scans the code, it reads the string and presents it on screen. The device does not launch a browser or an app because there is no scheme to trigger one.
This behaviour makes the format useful whenever the value to be communicated is the text itself: a door code, a serial number, a luggage tag identifier, a product lot number, or a short set of offline instructions. The code works without internet access because the data lives inside the pattern.
Encoding modes and data capacity
The four encoding modes
ISO/IEC 18004 defines four encoding modes. The generator selects the most efficient mode automatically based on the characters you enter, but understanding the modes explains why long text produces a larger, denser code.
| Mode | Character set | Bits per character (approx) | Max chars at Version 40, ECC-L |
|---|---|---|---|
| Numeric | 0–9 | 3.33 | 7,089 |
| Alphanumeric | 0–9, A–Z (uppercase only), space, $ % * + - . / : | 5.5 | 4,296 |
| Byte | All 256 ISO-8859-1 values; UTF-8 text in practice | 8 | 2,953 |
| Kanji | Shift-JIS double-byte characters | 13 | 1,817 |
Entering a digit-only string (for example, a serial number or a door code) allows the generator to use Numeric mode, which stores three digits per 10 bits. Adding a lowercase letter forces the switch to Byte mode, which costs 8 bits per character. That switch more than doubles the bits needed per character and produces a larger, denser symbol.
The alphanumeric charset limitation
Alphanumeric mode covers exactly 45 characters: the digits 0 through 9, the uppercase letters A through Z, and seven symbols — space, dollar sign, percent, asterisk, plus, hyphen, full stop, forward slash, and colon. Lowercase letters are not in the alphanumeric charset. Any text containing a lowercase letter will use Byte mode instead.
If your use case is an uppercase-only code (door entry PINs, airline seat codes, product references in a system that stores them in uppercase), keep the text uppercase and you will get a smaller, less dense symbol at any given data length.
Why long text makes a dense, hard-to-scan code
Each additional character requires more modules. A Version 1 QR code is 21 × 21 modules and can hold at most 41 characters in Numeric mode or 25 characters in Alphanumeric mode. Version 40 reaches 177 × 177 modules and holds the maximums shown in the table above. When the symbol version climbs because the payload is long, each module must shrink proportionally if the physical print size is fixed. Smaller modules are harder for a phone camera to resolve. The practical limit for a code printed at business-card size is roughly 150 to 300 characters; beyond that, print larger or reduce the text.
Error correction and data density
| Level | Recovery capacity | Effect on module count |
|---|---|---|
| L | ~7% of codewords | Smallest code, fewest modules |
| M | ~15% of codewords | General-purpose default |
| Q | ~25% of codewords | Suitable for partial damage risk |
| H | ~30% of codewords | Largest code; use when adding a logo |
Choosing Level H for short text has almost no visible effect on symbol density. For long text, Level H can push the symbol up by several versions and noticeably increase module count. Use Level L or M for long text unless you need damage tolerance.
When to use a text QR code
Door and access codes. A printed text QR code on a key card or instruction sheet lets residents or guests retrieve a PIN without reading a small font or phoning reception. It works without a data connection.
Serial numbers and asset tags. Equipment, tools, or consumable packaging labelled with a text QR code can be identified by scanning rather than manual transcription. Errors from misread digits are eliminated.
Product lot numbers in warehouse environments. A warehouse scanner that cannot resolve a URL or a tel: number can still read a plain text payload. Text QR codes are a neutral format any reader supports.
Offline instruction sheets. A machine manual or safety guide can include a text QR code for a brief access code, a short reference string, or a PIN for locked configuration menus — none of which require internet.
Laboratory sample identifiers. Clinical and laboratory environments use plain numeric or alphanumeric codes to label samples. A Numeric-mode QR code is the most compact format for a purely digit-based identifier.
Event and venue codes. A backstage pass, conference lanyard, or locker code printed as a QR code reduces the surface area for transcription errors during check-in.
Design and print requirements
Maintain a quiet zone of at least four modules on all four sides. ISO/IEC 18004:2015 §6.3.3 specifies this minimum, and scanners need the unprinted margin to detect the symbol's boundaries.
Print at 2 cm by 2 cm or larger for close-range scanning. A code held 10 to 30 cm from a phone should be at least 2 cm square. Codes intended to be scanned from a metre or more should be at least 3 cm square; large-format posters warrant 8 cm or more.
Use dark modules on a light background. This is the combination that all modern scanner firmware optimises for. Inverted codes (light on dark) scan less reliably across older hardware.
Keep strong contrast. Low-contrast colour choices and transparent or busy backgrounds are the most common cause of a code that looks good in a design tool but fails on a printed surface.
When you embed a logo, raise the error correction level to H. The H level recovers up to approximately 30% of codewords, which is enough to withstand a centred logo occupying up to about 25% of the symbol area. If you are not embedding a logo, Level M is sufficient for most uses.
Long-text codes at a fixed print size produce small modules. The fix is to print the code larger, not to compress the design. Reducing the quiet zone below four modules to save space is counterproductive and will cause scan failures.
Troubleshooting: why your text QR code is not scanning
The symbol is too small for the print size. More data means more modules, and more modules at the same physical size means each module is smaller. Print at a larger size or reduce the payload length.
The quiet zone is missing or cut off. A common problem when the code is embedded in a bordered design. Ensure at least four modules of unprinted margin on every side before the nearest edge or other artwork.
Low contrast between modules and background. Pastels, reversed colours, and transparent overlays all reduce contrast. Restore a dark module on a light background combination.
The payload contains characters that force Byte mode unexpectedly. Checking the encoding mode in the live preview helps — if a serial number meant to be numeric-mode has dashes or slashes, those characters trigger Byte mode and expand the symbol. Remove special characters or replace them with characters inside the alphanumeric charset if density matters.
The error correction level is set to H on a long payload. H on long text can push the symbol into a higher version with smaller modules at the same print size. Try Level L or M and reprint.
The phone is reading the raw string but taking no action. This is expected for a plain-text payload. There is no URI scheme, so the device shows the text on screen. If you want scanning to open a link or dial a number, use the URL or phone QR generators instead.
Text QR codes versus URL QR codes
A text QR code and a URL QR code both produce ISO/IEC 18004-compliant symbols. The difference is in the payload, not the symbol structure.
| Text QR code | URL QR code | |
|---|---|---|
| Payload | Plain text string | Full URL (https://...) |
| Action on scan | Displays text on screen | Opens browser or app |
| URI scheme required | No | Yes (http:// or https://) |
| Works offline | Yes | Depends on destination being available |
| Editable after printing | No (static) | No (static) / Yes (dynamic) |
| Best for | Codes, identifiers, instructions | Links, pages, landing pages |
A URL QR code's payload includes the scheme (https://) and typically a domain, which alone consumes 12 to 30 characters before any path or query string. For the same module density, a text QR code can encode more meaningful content. If the destination is a web page, use a URL QR code. If the destination is a string to be displayed or transcribed, use a text QR code.
What this Text QR Code Generator gives you
This browser-based tool stores plain text directly inside the QR symbol, without opening a website or another app. It is designed for door codes, asset numbers, short instructions, reference IDs and offline notices. The live preview updates while you edit, which makes it easier to catch a missing field or an unexpectedly dense symbol before download.
You can adjust matrix patterns, finder-eye styles, foreground and background colours, gradients, frames, size and an optional logo. Exports are available as SVG, PNG, WEBP and JPG at 512, 1024, 2048 or 4096 pixels. SVG is the practical choice for professional print. A high-resolution PNG suits office documents and digital artwork.
The static payload is constructed in your browser. The information entered into the generator does not need to be uploaded to create the QR image. Long paragraphs create dense symbols, so concise wording and a larger print size give more reliable results.
Using this QR code in Bahrain and abroad
Useful for Bahrain offices, events, accommodation desks and facilities where a short code must remain available even when mobile data is weak.
Use British English spelling in customer-facing copy when that matches your organisation’s house style, and provide Arabic wording where the audience expects it. Keep the action after scanning obvious. A short line beside the symbol such as “Scan to save the contact” or “Scan to open the location” gives people confidence before they point their camera.
Test the final design on current iPhone and Android devices. Test it again after printing on the actual paper, sticker, card, sign or packaging material. Bahrain’s bright outdoor light can expose glare and low-contrast problems that are less obvious on a computer screen. For international use, confirm country codes, currencies, time zones, regional app availability and payment-network compatibility.
Before you publish
- Correct QR payload type
- Complete and verified data
- Four-module quiet zone
- Strong foreground contrast
- Proportional square scaling
- Logo kept within safe limits
- SVG or high-resolution PNG
- Final-size device scan test
Frequently asked questions
Open a question to read a concise technical answer.
01Can a QR code contain plain text?+
Yes. A QR code can encode a plain text string with no URI scheme. When scanned, the device displays the text on screen rather than opening an app or browser. The QR symbol follows ISO/IEC 18004 regardless of what the payload contains — the difference is in the content, not the structure of the code.
02How much text can a QR code hold?+
A Version 40 QR code at error correction level L holds up to 7,089 numeric characters, 4,296 alphanumeric characters (uppercase letters plus digits and a handful of symbols), or 2,953 bytes of arbitrary text such as UTF-8 prose. Using a higher error correction level or including lowercase letters reduces these maximums.
03What is the maximum number of characters in a QR code?+
The ISO/IEC 18004 maximum is 7,089 numeric digits in a Version 40 code at error correction level L. For mixed text including lowercase letters, the byte-mode maximum is 2,953 characters at the same settings. Adding error correction or using a lower version reduces capacity further in proportion to the recovery percentage chosen.
04Can I put a paragraph of text in a QR code?+
Yes, up to the capacity limits. A short paragraph of 200 to 400 lowercase characters fits in byte mode at a moderate symbol version. The resulting code will be denser than a short-text code, so print it larger — at least 3 cm square — to ensure reliable scanning with a phone camera.
05What happens when someone scans a text QR code?+
The scanner reads the plain string and the device displays it. No app opens and no browser loads, because there is no URI scheme to trigger an action. The user sees the text directly on screen — useful for codes, identifiers, and instructions that need to be read, not clicked.
06Is there a difference between a text QR code and a URL QR code?+
Yes. A URL QR code includes a scheme such as https:// in its payload, which causes the device to open a browser. A text QR code has no scheme, so the device only displays the content. URL QR codes link to live web pages; text QR codes carry self-contained information that does not require internet access to use.
07What is alphanumeric mode in a QR code?+
Alphanumeric mode is an encoding defined in ISO/IEC 18004 that stores two characters per 11 bits — more efficient than byte mode's 8 bits per character. It covers 45 characters: the digits 0–9, uppercase A–Z, and the symbols space, $, %, *, +, -, ., /, and :. Lowercase letters are not included; any text containing a lowercase letter uses byte mode instead.
08Why does my text QR code look so dense and complex?+
Code density increases with payload length and error correction level. Long text, lowercase characters (which force byte mode), and high error correction all increase the number of modules. To reduce density: shorten the text, use uppercase-only if possible to enable alphanumeric mode, or select a lower error correction level such as L or M.
09Does a text QR code work without internet?+
Yes. The text is encoded entirely within the QR pattern, so the code works with no network connection. There is no redirect, no server, and no expiry. The code continues to work indefinitely as long as the printed symbol remains legible.
10Why is my text QR code displaying the raw string instead of doing something?+
That is the intended behaviour of a plain-text QR code. No URI scheme means the device has nothing to act on — it simply shows what it reads. If you want scanning to open a link, dial a number, compose a message, or connect to WiFi, use the corresponding dedicated QR type instead of the plain-text generator.