From the creators of Abundera Sign

Free Code 93 Barcode Generator

Encode uppercase ASCII as Code 93 — Symbol Technologies' improvement on Code 39 with two mandatory checksum characters.

Host your PDF anywhere — Google Drive (use the "anyone with link" share URL), Dropbox, your own server, S3, etc. Paste the public link here. We encode the URL so the QR works forever and never depends on us. Tip: for Google Drive, replace /view in the share URL with /preview for a cleaner mobile view.

Any downloadable file — installer (.exe / .dmg / .deb / .apk), archive (.zip / .tar.gz), document, dataset. Host it anywhere; we encode the URL. The user's browser handles the download per its own MIME-type rules.

JPEG, PNG, WebP, GIF, or HEIC — host it anywhere. Mobile browsers open the image full-screen; desktop browsers show it inline. Common pattern: print on flyers / business cards / packaging so a scan opens a product photo or gallery.

YouTube and Vimeo URLs open natively in their apps on phones. Direct .mp4 / .webm files open inline in any modern browser. Host self-encoded video on your own server, S3, or Cloudflare R2 and paste the URL.

MP3 / OGG / WAV / FLAC / M4A direct URLs play inline in mobile browsers. Spotify (open.spotify.com/track/…) and SoundCloud (soundcloud.com/…) URLs open in their apps. Apple Music / Bandcamp / Tidal links also work.

Restaurant / cafe / bar menu — point to a PDF, an HTML menu page, or your online-ordering platform (Toast / Square / DoorDash / Uber Eats). Print on table tents, host signs, or window stickers. Pro tip: use a frame ("Scan our menu") so customers know what to do.

Paste your form's share link — either the short forms.gle/… or the long docs.google.com/forms/d/e/…/viewform form. We auto-prefer forms.gle when both are available since the shorter URL produces a denser QR. Works for surveys, registrations, RSVPs, lead capture, classroom polls.

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.

HOTP (RFC 4226) is the counter-based sibling of TOTP. Use it for hardware tokens like YubiKey OTP or for systems without reliable clocks. Same otpauth:// scheme; counter increments per code instead of advancing on time.

GSMA SGP.22 activation code per the LPA spec. iOS 17.4+ and Android 13+ scan these directly to provision eSIM profiles. Carriers issue the SM-DP+ address and matching ID; the confirmation code is optional second-factor.

Per RFC 3261, opens a SIP softphone (Linphone, Zoiper, Bria, etc.) and dials the address. sips: forces TLS for signalling. Works with Asterisk, FreeSWITCH, 3CX, and any standards-compliant PBX.

Opens the system MMS composer to send a multimedia message (text + image/audio/video attachment). Distinct from sms: in that the recipient receives an MMS-formatted message. iOS, Android and most carrier apps honour this scheme.

Paste the QR URL from your Alipay Receive Money page (Settings → My QR Code → Save). We pass it through verbatim. The Alipay app, AliPayHK, and any device with the Alipay+ scanner will recognise the URL or QR.

Personal receive codes start with wxp://f2f. Merchant codes are https://payapp.weixin.qq.com/... URLs from the Weixin Pay merchant portal. Paste either; we encode verbatim. The WeChat app and any Weixin-Pay-enabled scanner will resolve it.

Swish is Sweden's national P2P / merchant mobile-payment service. Payee can be a private mobile number (Swish-number) or a 1234-style merchant alias. The Swish app on iOS and Android scans the standard swish://payment?data=... URI.

Vipps is Norway's dominant mobile-payment app (now Vipps MobilePay across the Nordics). Send to phone emits a vipps://send?... deeplink for P2P; Merchant short-link wraps a https://qr.vipps.no/... URL.

Paste the link from your Mercado Pago Cobrar page (the https://mpago.la/..., https://link.mercadopago.com.br/..., or full mercadopago.com short-link). Works across MP apps in Argentina, Brazil, Mexico, Chile, Colombia, Uruguay and Peru.

Data Matrix is a square 2D matrix barcode (ISO/IEC 16022) used in healthcare, electronics, manufacturing, and direct-part marking. Holds up to ~2,335 alphanumeric characters in a single tag. Note: this is not a QR code — QR-only styling (eyes, dots, gradients, frames, logos) is disabled and the basic monochrome render is used.

Aztec Code (ISO/IEC 24778) is the 2D barcode used by airline boarding passes, train tickets, and electronic ID. Designed to scan well on phone screens and at low contrast. Holds up to ~3,067 alphanumeric characters. Not a QR; QR-only styling is disabled.

PDF417 (ISO/IEC 15438) is a stacked linear barcode used on US driver's licences, passports, FedEx airbills, and AAMVA-encoded ID cards. Holds up to ~1,800 ASCII characters. Not a QR; QR-only styling is disabled.

Use for legitimate purposes only: AAMVA parser testing, kiosk & age-gate development, accessibility tools, and demoing AAMVA workflows. Producing a counterfeit government ID is identity fraud and is prosecuted as a felony in every US state. Use real data only when you own the source license, or use synthetic data clearly marked as such.

Renders as a PDF417 barcode following the AAMVA Card Design Standard. Scan it back with this site's scanner to see the structured License Preview parser in action.

Code 128 (ISO/IEC 15417). Variable-length, high-density, encodes the full ASCII set. Used in shipping labels (UPS, FedEx, DHL all use it for their internal tracking), supply chain, and industrial labelling.

Code 39 (ISO/IEC 16388). The original alphanumeric barcode, supported by every scanner ever made. Used in healthcare patient bands, DOD military logistics (LOGMARS), and inventory tagging.

Code 93 — Symbol Technologies' more compact successor to Code 39. Mandatory two checksum characters (C and K) make it more reliable on scuffed labels.

Codabar (NW-7) — used by US blood banks, FedEx airbills (legacy), libraries (US/CA/EU), and photo finishing. Self-checking; does not require a check digit.

EAN-13 / GTIN-13 — global retail product identifier. Used outside North America (which uses UPC-A) on every retail consumer product. Use the 12-digit GS1 number; the 13th check digit is computed for you.

EAN-8 / GTIN-8 — compact retail product identifier for small packages where EAN-13 won't fit (chewing gum, batteries, etc.).

UPC-A / GTIN-12 — North American retail product identifier. Use the 11-digit GS1 number.

UPC-E — compact 8-digit zero-suppressed variant of UPC-A for small packages.

ITF-14 (Interleaved 2 of 5) — GS1's standard for shipping cartons / outer cases. Identifies the product inside (GTIN-14). Used by every major retailer and 3PL warehouse.

Vehicle Identification Number per ISO 3779. Encoded as a Code 39 barcode for compatibility with state DMV scanners, automotive registries, and insurance/title workflows. The 9th character is a check digit (auto-validated, not auto-computed — input invalid VINs are still encoded for testing).

Paste the link from your Payconiq merchant portal — typically https://payconiq.com/t/1/... for transactions or https://payconiq.com/l/1/... for static merchant QRs. Scanned by Payconiq, Bancontact, KBC Mobile, Belfius, ING, BNP Paribas Fortis, and most Benelux banking apps.

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.

Scanning the QR opens the native calendar app with a Subscribe prompt. Standard webcal:// URI scheme.

Your entire bio page is encoded into the QR's URL hash — no backend, no account, no tracking. The /bio/ page decodes and renders it client-side.

Paste the 11-character video ID, a youtu.be URL, or a youtube.com/watch URL. We normalize to youtu.be/{id}.

Paste a share link from the Apple Music app or just the numeric ID + storefront.

Find your Place ID at https://developers.google.com/maps/documentation/places/web-service/place-id. Scanning opens the Google Review dialog for your business.

The slug in your Yelp URL after /biz/. Scanning opens the Yelp Write A Review page.

The d + numeric ID from your TripAdvisor listing URL. Scanning opens the Write Review page.

Requires the Venmo mobile app. Desktop browsers will redirect to venmo.com instead.

Opens the Cash App with your $cashtag pre-filled.

Creator-support platforms. We build the canonical profile URL automatically.

TWINT is Switzerland's most popular mobile payment app, supported by every Swiss bank.

Bizum is the dominant P2P payment service in Spain, operated by the consortium of Spanish banks.

Accepted by every Singapore bank app. Uses the EMVCo Merchant-Presented Mode QR standard.

Japanese JPQR unified QR payment standard. Accepted by PayPay, LINE Pay, Rakuten Pay, and 20+ Japanese payment apps.

Hong Kong Faster Payment System. Works with every Hong Kong retail bank and HKICL's FPS service.

DuitNow by PayNet — Malaysia's national real-time payment network. Works with all Malaysian retail banks and e-wallets.

MoMo e-wallet URI — Vietnam's most-used mobile payment app with 30+ million users.

Australian New Payments Platform PayID. Works with Osko-enabled bank apps.

Saudi Arabia's ZATCA FATOORA e-invoice QR. Legally required on every commercial invoice in KSA since 2023. TLV format, base64-encoded.

Unified QR — modern Bitcoin wallets pick the Lightning route for small/fast payments and fall back to on-chain. Recommended format for Bitcoin receivers.

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.

This barcode format renders monochrome with foreground and background colours only. Templates, dot/eye shapes, gradients, frames, and centre logos apply to QR codes only and are hidden here.

Show 30 more templates

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

#000000
#FFFFFF

Or pick a built-in icon:

Show 108 more icons

Renders behind the QR at adjustable 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 86 QR types supported, including URL, WiFi, vCard, TOTP, Swiss QR-bill, PIX, PromptPay, ZATCA, PayNow, Bitcoin + Lightning, and more. Download the sample CSV to see every column, all 50 templates, 11 frame styles, and 156 built-in logo icons in action.

1. Download the sample CSV  ·  2. Edit it in Google Sheets, Excel, Numbers, or any text editor  ·  3. Upload it here

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

What is Code 93?

Code 93, designed by Symbol Technologies in 1982, is a more compact and more reliable evolution of Code 39. Each character is 9 modules wide (vs Code 39's 13), giving roughly 30% better density at the same X-dimension. Two mandatory check characters (C and K) catch single-character substitution errors.

Where Code 93 is used

Available in 26 Languages

Fully translated UI, native script rendering, and right-to-left support for Arabic and Urdu.

Frequently Asked Questions

Does Code 93 support lowercase / full ASCII?

Standard Code 93 does not. Code 93 Extended (also called Code 93x) does, via shift characters — bwip-js exposes it as code93ext if needed.

Why use Code 93 over Code 128?

Code 128 is denser still; Code 93's niche is environments with legacy Code 39 readers being upgraded incrementally — Code 93's symbology is similar enough that retraining is minimal.

Is the check digit visible?

Yes — the C and K characters are at the end of the encoded data but typically not shown in the human-readable text.

Will iPhone Camera scan Code 93?

Yes since iOS 15.

What's the smallest practical size?

X-dimension of 5 mil (0.13 mm) at high print quality.

Can I generate Code 93 in batch?

Yes — use the batch CSV with type=code93.

Is there a length limit?

Practically unlimited; recommended cap of 50 characters for reliable scanning.