Identification at the till

Code 39

An older alphanumeric linear barcode, self-checking and widely readable, still common in membership cards, libraries and industrial labelling.

Code 39 is a linear barcode that encodes digits, uppercase letters and a handful of symbols, delimited by an asterisk at each end. It was one of the first alphanumeric symbologies and it is self-checking, meaning a misread character is usually rejected rather than returned as the wrong value.

Its persistence is a hardware story. Code 39 is decoded by essentially every scanner ever built, including old fixed-mount units that were never updated, so it survives in libraries, gyms, hospitals, defence and manufacturing long after denser formats arrived. Membership programs that started on plastic cards in the nineties often still carry Code 39 numbers.

The cost is density. Each character takes nine elements, so a Code 39 barcode is noticeably wider than the same data in Code 128, and long member numbers can become hard to render legibly on a phone screen. Where a scanner will accept either, Code 128 is the better use of the space.

Google Wallet renders Code 39 as a pass barcode. Apple Wallet does not: its formats are QR, PDF417, Aztec and Code 128, so an Apple pass carrying a Code 39 member number normally encodes the same value as Code 128 or a QR code. See QR and barcode identification for how the choice plays out at the till.

See the platform
Next step

See what this looks like on a pass.

The definition is the short version. The next pages show it on the terminals merchants already run, and the merchants running it.