From the creators of Abundera Sign

Free Data Matrix Code Generator

Build ISO/IEC 16022 Data Matrix barcodes for healthcare UDI, manufacturing DPM, electronics labelling, and GS1 traceability. Renders client-side; bwip-js is lazy-loaded only when you pick this type.

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 79 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 Data Matrix?

Data Matrix is a square (or rectangular) 2D matrix barcode standardised as ISO/IEC 16022. It packs significantly more data per unit area than a 1D barcode, scans reliably down to ~3 mm sides, and tolerates damage thanks to Reed-Solomon error correction. It's the dominant 2D format outside of QR for industrial use.

Where Data Matrix is mandatory or dominant

Limits

Note on styling

Data Matrix is not a QR code. The QR-style controls in our generator (eye styles, dot shapes, gradients, frames, centre logos) don't apply — they assume the QR finder/timing pattern. Foreground and background colours are still configurable.

Available in 26 Languages

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

Frequently Asked Questions

Can I add a logo in the centre?

No — Data Matrix has no built-in error-correction headroom for logos. The whole symbol is data + ECC; covering any region risks an unscannable code.

What about GS1 Data Matrix?

GS1-formatted Data Matrix uses Application Identifiers ((01) for GTIN, (10) for lot, etc.) embedded in the data string. Paste your full GS1 element string (e.g. (01)09506000134352(10)ABC123(17)260101) into the Content field; the encoder is the same.

Why is my Data Matrix rectangular instead of square?

bwip-js auto-picks the optimal symbol shape from the ISO 16022 size matrix. Short payloads tend to be square; long payloads can fit better in rectangular variants. The scanner doesn't care.

Does this work for direct-part marking (DPM) inspection?

The generator outputs the symbol image. Whether your laser, dot-peen, or ink-jet equipment can mark it depends on your process. The data structure is correct.

Can I generate Data Matrix in batch?

Yes — use the batch CSV with type=datamatrix. The data column accepts any text. Output is monochrome; FG/BG colours apply to the live UI.

Why did you pick bwip-js instead of writing your own encoder?

Reed-Solomon ECC 200 + ISO 16022 symbol layout is a non-trivial 1500+ line implementation that's been independently verified across thousands of production deployments via bwip-js. Reinventing it would invite scanning bugs.

Will scanners that say 'QR code reader' read Data Matrix?

Most modern scanner apps (built-in iPhone Camera, Google Lens, ZXing-based apps, all enterprise scanners) read both. Strict 'QR-only' apps won't — check the app's spec.