Free WireGuard Config QR Code Generator
Turn any WireGuard .conf file into a scannable QR for one-tap mobile import. Used by the official WireGuard app on iOS and Android.
- QR Generator
- Free Business Card Designer
- Printable WiFi Cards
- Batch CSV (500 codes)
- 40 Templates
- 20 Languages
Local uploads stay in your browser and only appear on the printed card. The QR data uses the URL above.
More fields (optional)
Address
Social profiles
Tip: right-click any spot on Google Maps and copy the coordinates
A red Swiss flag is automatically overlaid on the QR — required by Swiss banks.
Paste a BOLT11 invoice (lnbc...) or a Lightning address. We prefix with the lightning: URI scheme so any Lightning wallet can scan it.
Compatible with Google Authenticator, Authy, 1Password, Bitwarden, and any standard TOTP app.
Encodes the entire authorized_keys line. Scan to copy/paste the key onto a new machine.
For very long keys, use rMQR landscape or split into multiple QRs. Standard QR caps around ~2KB.
The official WireGuard mobile apps scan these directly. Never include your private key in a printed QR — only digital sharing.
GS1 Digital Link is the modern web-friendly alternative to the EAN-13 barcode for retail products. Resolver domain defaults to id.gs1.org but you can use your own.
Paste the share link from the Spotify app, or just the ID. We build the open.spotify.com URL automatically.
Format depends on platform — for Mastodon use @user@instance, for Bluesky use handle.bsky.social, for Nostr paste the npub key.
Geo URI (RFC 5870) opens directly in any maps app on the device — Google Maps, Apple Maps, OsmAnd, etc. — without picking a vendor.
Standard BitTorrent magnet link. Scanned by any BitTorrent client that supports URI scheme handlers.
Paste a full RFC 5545 iCalendar payload — supports multiple events, alarms, recurring rules. Most calendar apps import the QR directly.
Local uploads stay in your browser and only appear on the printed card. MeCard QR data has no photo field.
MeCard is a simpler alternative to vCard, preferred by some Android devices
More fields (optional)
Address
Micro QR capacity: 35 digits, 21 uppercase alphanumeric, or ~15 bytes (lowercase/URLs). Best for short codes, serial numbers, and IDs. For URLs, use standard QR instead.
Rectangular Micro QR — a narrow, wide format ideal for test tubes, wristbands, and ticket strips. Up to 361 characters.
Show 30 more templates
Save a style with the button above to keep your favourites here.
Or pick a built-in icon:
Renders behind the QR at reduced opacity. Auto-forces EC=H so the QR still scans through the photo.
Batch Generation
Upload a CSV to generate up to 500 QR codes in a single batch. Each row becomes its own QR — pick a template or override 21 properties on a per-row basis: colors, frames, dot/eye/eyeball styles, gradients, transparency, size, error correction, format, built-in logo, and more.
21 columns: type, data, filename, frametext, frame, template, fgcolor, bgcolor, size, ec, dotstyle, eyestyle, format, logo, gradient, g2, gtype, gangle, transparent, eyeball, eyecolor. Only type and data are required. Use | to separate fields inside data (e.g. ssid|password|WPA).
All 20 QR types supported, including URL, WiFi, vCard, MeCard, Email, SMS, Event, Location, UPI, SEPA, PayPal, Crypto, Micro QR and rMQR. Download the sample CSV to see every column, all 40 templates, 11 frame styles, and the 12 built-in logos in action.
Save the entire QR — type, all field values, style, frame, logo, business card design — as a single .qr.json file. Load it later to recreate everything in one click.
Enter content to generate your QR code
E-signatures that hold up in court
Abundera Sign goes beyond basic e-signatures. Every document gets cryptographic proof, independent verification, and a tamper-evident evidence package.
- Auto-generated court-ready evidence packages
- Personal Document Seal — detects tampering instantly
- Anchored to 5 independent systems — no single point of failure
How WireGuard config QRs work
The official WireGuard mobile apps (iOS, Android, macOS) include a QR code import flow: tap "Add tunnel" → "Create from QR code", scan, done. The QR contains the entire .conf file as plain text — interface section, peer section, endpoint, allowed IPs, keys. After scan, the tunnel is configured and ready to enable.
This is by far the fastest way to provision new clients on a self-hosted WireGuard server. Generate the client config server-side, render it as a QR, hand the phone over, scan, and the user is connected.
Security warning
The QR contains the client's private key. Anyone who scans (or photographs) the QR can connect to your VPN. This is fine for a one-shot in-person handoff but DO NOT post the QR publicly, screenshot it to a chat thread, or print it on anything that might be photographed. After the recipient has scanned, regenerate the keypair if you're paranoid.
Frequently Asked Questions
Which apps scan these QR codes?
The official WireGuard apps from wireguard.com on iOS, Android, macOS, and Linux. Some forks (like TunSafe and PassePartout) also support the format. Third-party VPN clients usually don't.
Can I encode just the peer section?
Yes — but the import flow expects a complete config (Interface + Peer). For partial configs, paste the snippet anyway and the user can edit after import.
What about my private key in the QR?
It's there in plain text. WireGuard can't work without it — the client needs the private key to encrypt traffic. Treat the QR like a password: hand it over in person, on a single device, and don't keep copies.
How big can the config be?
Up to a few KB. A typical client config (one peer, IPv4 + IPv6) is ~400 bytes — fits easily into a QR version 10 at error correction L. Multi-peer configs scale linearly.
Can I add a comment field?
WireGuard .conf supports # comments. They'll be encoded but the official app strips comments on import.
Do I need to base64-encode the config first?
No. The QR carries the .conf file verbatim as text. Base64 only adds size.
What about the WireGuard PreSharedKey?
If your peer has a PreSharedKey, include it in the [Peer] section. The QR encodes the entire stanza; the import will set it up.