QR Code Generator
Create a QR code from a URL or text in your browser. Download a PNG. The content is never sent to a server.
A QR code without a middleman
Many “free QR” sites turn your URL into their short link so they can change the destination later or count scans. That is a product. It is also a tracking and reliability risk. This QR code generator encodes exactly the string you type, in your browser, and lets you download a PNG. If you typed https://kindcalc.com/tools/tip-calculator, that is what the camera will open.
Use it for menus, slides, packaging, and personal projects where you want a static code. If you need editable analytics, you want a hosted short-link product—not this page.
How a QR code represents your text
QR codes store data in a grid of modules with error correction so a smudge does not kill the scan. This tool uses a standard encoder to draw the grid on a canvas. Shorter payloads need fewer modules and scan better at small sizes. A 2,000-character manifesto will produce a dense code that fails on a cheap phone camera from across a table.
HTTPS URLs are the typical payload. Plain text shows up as text in most camera apps. Wi-Fi and calendar payloads exist as conventions; they only work if the scanner understands the format. This generator will encode whatever string you give it. It will not validate that a Wi-Fi string is well formed.
How to use it
Paste a URL or short text. Keep the preview readable on screen. Download the PNG and print a test copy before you order 500 stickers. Leave a quiet white margin; do not crop to the last black square. Place the code where a camera can focus—avoid curved bottles without a flat label.
For contrast, black on white still wins. If you brand the code, check that the dark modules stay dark. The contrast checker on KindCalc is for text, but the same instinct applies: cameras need a strong difference.
Examples
A restaurant menu URL is the classic use. A conference slide with a 20-character vanity URL works better than a 200-character query string. A vCard as raw text may open as a blob of fields; test on iOS and Android before you print badges.
Do not encode a password from the password generator and project it. A QR is a public printing plate.
Operational honesty
If you print a code for a payment page, confirm the URL on a device you trust before customers use it. Sticker-over attacks are real on parking meters and restaurant tables. A locally generated code is only as trustworthy as the string you typed and the surface it lives on.
KindCalc does not host scan analytics. If the PNG is copied, we will not know. That is the tradeoff of a private generator.
Typical examples
| Input | Result |
|---|---|
| https://example.com | Opens the site on scan |
| WIFI-style text | Only if the scanner supports it |
| A short sentence | Shows as plain text |
Frequently asked questions
- Is this QR generator free?
- Yes. Generate and download a PNG without an account. The page may show ads like the rest of KindCalc after AdSense is enabled.
- Does the text leave my browser?
- No. The code is drawn on a canvas locally. That is why this page exists instead of a “type a URL and we host the image” service.
- What should I put in a QR code?
- Prefer short HTTPS URLs. Long text still works but is harder to scan at small print sizes. Do not encode passwords or one-time codes you would not print on a poster.
- Why won’t my code scan?
- Print it larger, add quiet space around it, and keep contrast high. A wrinkled sticker or a low-contrast color pair is a common failure.
- Can I style the QR with a logo?
- Not in this version. Logos cover modules and need error-correction headroom. A clean code is more reliable for posters and menus.
Related calculators
Utilities
Passwords
Generate a random password in your browser with cryptographically strong randomness. Choose length and character sets. Nothing is uploaded.
Utilities
Contrast
Check WCAG contrast between foreground and background colors. See AA and AAA pass/fail for normal and large text.
Utilities
Word counter
Count words, characters, sentences, and paragraphs. See reading time as you type or paste. Everything stays in your browser.