Create contact QR codes, WiFi QRs, event codes, geo locations and more — with logo overlay and batch export. Everything runs offline in your browser.
Use H error correction when adding a logo for best results
A vCard QR code encodes contact information (name, phone, email, company, website, address) in the standard vCard 3.0 format inside a QR code. When someone scans it with their phone camera, the device offers to save the contact directly to their address book — no typing required.
Yes. Both iOS (Camera app) and Android (Google Lens / Camera) natively interpret vCard QR codes and prompt to save the contact. The vCard 3.0 format used here is universally supported. For best compatibility, fill in at least a name and one contact field.
Yes. Use the "Logo Overlay" upload in the customization panel. The logo is rendered centered on the QR canvas. We recommend setting the error correction level to H (High, 30%) when using a logo — this reserves enough redundant data so the QR remains scannable even with the center covered. The logo should ideally cover no more than 20–25% of the QR area.
Error correction adds redundant data so the QR code is still scannable even if partially damaged or obscured. Level L recovers up to 7% damage (smallest QR), M recovers 15% (good default), Q recovers 25%, and H recovers 30% (largest QR, best for logo overlays). Higher correction = bigger, denser QR code.
Switch to the "Batch" tab, then paste or upload a CSV file with two columns: type and data. The type can be url, text, phone, email, sms, or wifi (with pipe-separated fields). Click "Generate Batch QRs" to see a preview grid, then use "Export All as PNG ZIP" to download a zip of individual PNGs, or "Export SVG Sheet" for a print-ready SVG grid. Maximum 50 QR codes per batch.
Absolutely nothing is uploaded. All QR generation, logo compositing, batch processing, and scanning happen entirely in your browser using JavaScript. No data — including names, phone numbers, passwords, or photos — ever leaves your device. The tool works 100% offline once loaded.