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.
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.
Is this really free?
Yes. No signup, no caps, no watermark, no paid tier. GhostQR runs in your browser and is supported by an optional tip jar — never by charging for your QR code.
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.
Every GhostQR tool runs entirely in your browser. Your file is never uploaded — there's no upload endpoint to send it to.