From the creators of Abundera Sign

Free OpenPGP Public Key QR Code Generator

Paste an ASCII-armored OpenPGP public key block and get a QR. Hand off your key in person without typing fingerprints.

0 / 900

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

0 chars

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.

Most phone cameras cannot scan Micro QR codes. This format requires specialized industrial scanners (e.g. Scandit, Cognex). Use standard QR for general-purpose scanning.

Rectangular Micro QR — a narrow, wide format ideal for test tubes, wristbands, and ticket strips. Up to 361 characters.

Most phone cameras cannot scan rMQR codes. This format requires specialized industrial scanners. Use standard QR for general-purpose scanning.
Show 30 more templates

Save a style with the button above to keep your favourites here.

#000000
#FFFFFF

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.

Ctrl+D Download PNG
Ctrl+Shift+D Download SVG
Ctrl+Shift+C Copy QR
Ctrl+P Print

Enter content to generate your QR code

Also by Abundera

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
Try Abundera Sign

Use case

You're at a key-signing party, a security conference, or a cypherpunk meetup. Someone wants your OpenPGP public key. You could rattle off your fingerprint (40 hex characters) and have them fetch from a keyserver — except keyservers are unreliable, censored, or compromised in many jurisdictions, and SKS has been deprecated. Or you could just hand them a QR.

OpenPGP public key blocks are bigger than SSH keys (~2KB for an RSA-3072 keypair, more for ECC with multiple subkeys). They sometimes hit the QR capacity limit. For very long keys, switch to rMQR (rectangular Micro QR) which has a more print-friendly aspect ratio, or split the key across multiple QRs using a structured-append protocol.

Verifying after scan

Always verify the scanned key's fingerprint matches the human you're getting it from. The QR proves the key didn't get truncated in transit, but it doesn't prove the human is who they say they are — that's what the in-person handoff is for.

Frequently Asked Questions

What format does the key block need to be in?

ASCII-armored, the standard output of 'gpg --armor --export user@example.com' or 'gpg --export-options export-minimal --armor --export'. Should start with -----BEGIN PGP PUBLIC KEY BLOCK----- and end with -----END PGP PUBLIC KEY BLOCK-----.

Can I encode my secret key?

Technically yes (the encoder doesn't care about the content), but you absolutely should not. Secret keys belong on encrypted hardware. Don't paste secret material into web tools.

What if my key is too big?

Use 'gpg --export-options export-minimal' to strip non-essential signatures, or export only the primary key without subkeys. If it's still too big, generate a new ECC key (Curve25519 or NIST P-256) — they're tiny compared to RSA-4096.

Will the QR scanner decrypt anything?

No. The QR contains an ASCII-armored public key block, which the scanner returns as text. Importing it into a keyring is a separate step — pipe the scanned text into 'gpg --import'.

Can I encode just my fingerprint instead?

Yes — paste your 40-character fingerprint into the Text QR type. It's much smaller and scans on any phone, but the recipient still has to fetch the actual key from a keyserver, which defeats the point if they're using OpenPGP because keyservers are unreliable.

Does this work for OpenPGP smartcards (YubiKey, Nitrokey)?

Yes — export the public key from the card with 'gpg --card-status' and 'gpg --armor --export' as usual. The QR contains the public-key material, which is the same regardless of where the matching private key lives.

What about WKD (Web Key Directory)?

WKD is fine and our QR doesn't compete with it — they solve different problems. WKD is for automated lookups by email; QR is for in-person handoffs and air-gapped systems.