Text QR Code Generator — Encode Any Message
Encode any plain text into a QR code — notes, coupon codes, Wi-Fi passwords in plaintext, product IDs, or short messages. No format constraints, no maximum length beyond what the QR specification allows. Runs in your browser; we never see your content.
How it works
- Type or paste your text. Enter any text in the field. The QR preview updates instantly. There is no format requirement — it can be a sentence, a number, JSON, or anything else.
- Customize the code. Adjust colors and optionally add a logo. The preview shows the density increasing as your text gets longer.
- Download. Save as PNG, SVG, or PDF. The code is yours — no expiration, no watermark, no tracking pixel.
Frequently asked questions
Is this really free?
Yes. No signup, no caps, no watermark. GhostQR is funded by an optional tip jar only.
Do you upload my text to a server?
No. QR encoding runs entirely in your browser. We have no upload endpoint — open the Network tab and confirm no request carries your text.
Does the QR code expire?
Never. It is a plain image file you download and keep forever.
How much text can I encode?
QR version 40 (the maximum density) holds up to 4,296 alphanumeric characters or 2,953 bytes of binary data. The code becomes denser and harder to scan as length increases — keep it under 300 characters for reliable scanning.
Can I encode JSON or structured data?
Yes. Any text string is valid. Some apps (like iOS Shortcuts) can parse JSON out of a QR code, which makes plain-text QR codes useful for passing structured config.
What is the difference between plain text and a URL QR code?
A URL QR code encodes a string that starts with http:// or https://, so phones auto-offer to open a browser. A plain-text QR code shows the raw string without any special action — useful when you want to display data without triggering navigation.
Related tools
- URL QR Code Generator — Free, No Signup
- SMS QR Code Generator — Pre-fill Text Messages
- Email QR Code Generator — Pre-fill mailto
Every GhostQR tool runs entirely in your browser. Your file is never uploaded — there is no upload endpoint to send it to.