Passmint
TemplatesDocsPricingBlog
Log inGet started
Passmint

Apple and Google Wallet passes from one API. Built for people who ship.

Product
  • Pass Designer
  • Developers
  • Distribution
  • Analytics
  • Templates
  • Pricing
Developers
  • Documentation
  • API reference
  • Node SDK
  • Webhooks
Company
  • Changelog
  • About
  • Contact
  • Support
  • Security
  • Terms
  • Privacy
Social
  • GitHub
  • X

© 2026 Passmint. Built for indie makers.

Apple Wallet & Google Wallet, one API.

Designing passes

Barcodes on passes

Updated June 29, 2026

Most passes carry a barcode so they can be scanned at a door, till, or gate. In the designer you pick a format and write the message the barcode encodes.

Supported formats

  • QR — the square code everyone recognizes. The safe default for most uses.
  • PDF417 — a tall rectangular code, the standard for boarding passes and many ticketing systems.
  • Aztec — a compact square code common in transit and rail.
  • Code 128 — a traditional 1D barcode, useful when a scanner expects a classic linear barcode rather than a 2D one.

If you're unsure, ask whoever scans the pass which format their scanner expects. The barcode is only useful if their hardware can read it.

Writing the message

The barcode message is a template, so it can change for every pass without you editing the design. Insert dynamic values with double braces:

  • {{serialNumber}} inserts the pass's unique serial number.
  • {{fieldValues.code}} inserts the value of the field whose key is code.

For example, a message of {{fieldValues.ticketCode}} produces a different barcode for every ticket you issue, drawing from each pass's own field value.

The keys you reference must match the field keys in your template exactly. If a referenced field has no value on a given pass, that part of the message comes out empty, so mark fields that feed the barcode as required.

Test before you print

Always scan a real issued pass with the actual scanner before you go live, especially if a third-party system reads the barcode. A QR code that looks fine on screen is no guarantee the scanner is configured for the value you encoded. Issue one test-mode pass and try it end to end.

Related articles

Pass fields explainedPrimary, secondary, auxiliary, and back fields, and how many of each you get.Using the pass designerA tour of the editor, section by section, from platforms to barcode.

On this page

  • Supported formats
  • Writing the message
  • Test before you print