Know your codes

This page is available in English.

These guides are in English. Each one says whether the camera app or the Zebra app can scan the symbol. The camera app returns the raw text. It does not open links, look up products, or start a payment.

QR Code

The QR Code was created in 1994 to track car parts quickly and is now the most familiar 2D code in the world. Three square finder patterns let any phone camera locate it instantly, and built-in error correction keeps it readable when partly damaged.

  • QR Code Identification Link (IEC 61406)

    An IEC 61406 QR Code carries a unique web address for one specific physical object. A frame with a small black triangle in the lower right corner signals that this code is an Identification Link rather than ordinary marketing content.

  • GS1 QR Code

    GS1 QR Code is a QR symbol flagged with FNC1 so its contents follow GS1 Application Identifier rules. It is different from a GS1 Digital Link QR, which is an ordinary QR Code holding a structured web address.

  • Micro QR Code

    Micro QR Code is a miniature QR with just one finder pattern and a narrow quiet zone. Its four versions, M1 to M4, hold a few dozen characters at most, ideal for marking tiny electronic parts.

  • rMQR Code (Rectangular Micro QR Code)

    rMQR is a rectangular cousin of the QR Code, made for strips of space where a square symbol will not fit. It can be as short as seven modules high, yet holds far more than a Micro QR Code.

  • GS1 rMQR Code

    GS1 rMQR combines the slim rectangular rMQR symbol with GS1 data rules. Product number, batch and expiry date can sit in a strip only a few millimetres high.

  • GS1 Digital Link QR Code

    A GS1 Digital Link QR Code stores a normal web address that contains the product's GTIN and optional details such as batch or expiry. Shoppers' phones open the brand page, while checkout scanners read the same code as a product number.

Data Matrix (ECC 200)

Data Matrix packs data into a grid of square modules framed by an L-shaped solid border and a dotted timing edge. It stays readable when very small or partly damaged, so it is the code of choice for marking parts, medicines and electronics.

  • Rectangular Data Matrix (ECC 200)

    Besides squares, the Data Matrix standard defines a few rectangular sizes such as 8x18 or 16x48 modules. They let a 2D code fit onto narrow surfaces like cable sleeves or the edge of a circuit board.

  • Data Matrix Identification Link (IEC 61406)

    IEC 61406 defines an Identification Link: a globally unique URL printed in a 2D code on a physical product. A frame with a small corner triangle tells users that scanning it leads to that specific item's digital information.

  • GS1 DataMatrix

    GS1 DataMatrix is a Data Matrix code that starts with a special FNC1 marker and follows GS1 data rules. On a medicine pack it typically holds the product code, batch, expiry date and a unique serial number.

  • Royal Mail Mailmark 2D (Data Matrix) and barcoded stamps

    Royal Mail prints small Data Matrix codes on business mail and, since 2022, next to the Queen's or King's head on everyday stamps. The square code identifies the item, and older non-barcoded definitive stamps stopped being valid after July 2023.

PDF417

PDF417 is a stacked 2D barcode built from many rows of codewords, each 17 modules wide. Its high capacity and adjustable error correction made it the standard for driver licences, ID cards and many boarding passes.

  • MicroPDF417

    MicroPDF417 shrinks PDF417 for labels where space is tight. It drops the large start and stop patterns, uses one to four data columns and fixes the error correction level, trading capacity for a much smaller footprint.

Code 128

Code 128 is the workhorse of logistics labels because it can carry any ASCII character in a short symbol. It switches between three subsets, packs digits in pairs when possible, and protects the data with a modulo 103 check character.

  • GS1-128

    GS1-128 is Code 128 with a special start sequence that tells the scanner the data follows GS1 rules. Numbers in brackets, called Application Identifiers, label each field, such as (01) for the product number or (17) for the expiry date.

  • SSCC-18 (Serial Shipping Container Code)

    The SSCC gives every pallet, carton or parcel its own 18-digit serial number. It is printed in a GS1-128 barcode after the Application Identifier (00), so any partner in the supply chain can scan and track the unit.

  • ISBT 128

    ISBT 128 is the international labelling standard for medical products of human origin, such as blood bags and tissue grafts. It uses Code 128 symbols whose data begins with a data identifier, so every field can be recognised unambiguously.

  • Codablock F

    Codablock F stacks several Code 128 rows into one block, so a label can hold far more text than a single linear barcode. It came before matrix codes became common and is now found mainly in older European systems.

EAN/UPC

These are the retail barcodes. EAN-13 and EAN-8 are the forms used in most of the world. UPC-A and UPC-E are the North American forms. The small add-ons sit beside a main barcode. The camera app returns the digits. It does not look up a product.

  • EAN-13

    EAN-13 is the barcode on almost every consumer product outside North America. Its 13 digits form a GTIN made of a GS1 prefix, a company number, an item reference and a final check digit.

  • EAN-2 / UPC 2-digit add-on

    The two-digit add-on is a small extra barcode printed to the right of an EAN-13 or UPC-A. Publishers use it to show the issue number, so the same product code can be reused for every edition of a magazine.

  • EAN-5 / UPC 5-digit add-on

    The five-digit add-on is the short barcode you often see beside the ISBN on a book cover. In many markets it carries a suggested price, and on periodicals it can carry extra issue information.

  • EAN-8

    EAN-8 is the shortened sister of EAN-13, made for packs that are too small for a full-size retail barcode. It holds a GTIN-8: seven digits plus a calculated check digit.

  • Variable-measure (in-store) EAN-13 / UPC-A

    When a deli label starts with 2, the barcode usually is not a global product number. Retailers use the 20-29 range to embed an item code plus a weight or price, so the till can charge the exact amount.

  • UPC-A

    UPC-A is the classic 12-digit barcode on North American products. It was the first retail barcode in widespread use and is fully compatible with EAN-13 scanners, which read it as a 13-digit number with a leading zero.

  • UPC-E

    UPC-E is a space-saving version of UPC-A for small items. It drops runs of zeros from the 12-digit number so the code can be printed with only six encoded digits, and a scanner expands it back to the full UPC-A.

Code 39

Code 39 was one of the first barcodes able to carry letters as well as numbers. It is self-checking, easy to print and still widely used for parts, asset tags and ID badges, framed by asterisk start and stop characters.

  • Code 39 Full ASCII

    Code 39 Full ASCII keeps the same bars as Code 39 but combines pairs of characters to represent lower case letters and control codes. A scanner in Full ASCII mode turns pairs like +A back into a lower-case a.

  • HIBC (Code 39)

    HIBC is the health-industry labelling standard managed by HIBCC. In its Code 39 form the data starts with a plus sign, followed by a labeler code and product number, and always ends with a modulo 43 check character.

  • PZN (Pharmazentralnummer)

    The Pharmazentralnummer is the article number for medicines and pharmacy products in Germany. It is printed as Code 39 with a leading minus sign, while the letters PZN appear only in the human-readable text.

Aztec Code

Aztec Code is a square 2D barcode built around a central bullseye finder pattern. Because it needs no quiet zone, it fits neatly on tickets and phone screens, which is why many railways and airlines use it.

Interleaved 2 of 5 (ITF)

Interleaved 2 of 5 packs digits two at a time, using the bars for one digit and the gaps for the next. That makes it a compact, numbers-only code that is still common on shipping cartons and warehouse labels.

  • ITF-14

    ITF-14 is the GS1 way of printing a 14-digit GTIN on corrugated shipping cases. It is built on Interleaved 2 of 5 and usually framed by a thick bearer bar so it survives rough printing on cardboard.

  • German Parcel code (ITF with MOD10+1 check digit)

    Some label printers offer a 'German Parcel' option that prints a normal Interleaved 2 of 5 barcode but appends a modified check digit. To a scanner it looks like ITF; only the last digit follows a different rule.

  • Deutsche Post Identcode / Leitcode

    Deutsche Post uses two Interleaved 2 of 5 profiles for sorting: the Identcode identifies an item, while the Leitcode encodes the routing address. Both end in a check digit and are printed tall for reliable machine reading.

Code 93

Code 93 was designed as a tighter, more secure upgrade of Code 39. Each character uses nine modules, and two built-in check characters make misreads very unlikely.

Codabar

Codabar is an older, very forgiving barcode that can be printed even by dot-matrix printers. It encodes digits and a few symbols between start and stop letters A to D, which is why library cards often show numbers framed by letters.

Plessey

Plessey is one of the earliest barcodes, created by the British electronics firm Plessey. It encodes the digits 0-9 and letters A-F and lives on mainly in older library and shelf-label systems.

  • MSI Plessey

    MSI Plessey is a numbers-only barcode that you will mostly find on supermarket shelf edges and warehouse bins. It is not self-checking, so it is normally printed with one or two check digits.

USPS postal codes

These are marks used on US mail. Intelligent Mail and the older PLANET and POSTNET codes carry routing or tracking digits. The Facing Identification Mark only helps a sorting machine turn a letter the right way up. The camera app does not scan them. The Zebra app does not scan them.

  • POSTNET

    POSTNET is a US postal barcode that stores ZIP code digits in full and half-height bars instead of bar widths. It sped up letter sorting for decades before the Intelligent Mail barcode took over.

  • USPS Intelligent Mail barcode (IMb)

    The Intelligent Mail barcode is the row of short and tall bars on US business mail. Its 65 four-state bars carry both a tracking code and the delivery-point ZIP code, combining what POSTNET and PLANET did separately.

  • PLANET Code (USPS)

    PLANET looks like POSTNET turned inside out: mostly tall bars with a few short ones. It was used to track mail pieces through the US postal system before the Intelligent Mail barcode took over that job.

GS1 DataBar

GS1 DataBar symbols carry a product number in a small space. The camera app does not scan them. The Zebra app can scan the omnidirectional symbol. This site does not say the Zebra app can scan the other shapes.

  • GS1 DataBar Omnidirectional

    GS1 DataBar Omnidirectional fits a full 14-digit GTIN into a symbol much shorter than an EAN-13. Checkout scanners can read it from any direction, which makes it popular for loose produce and small items.

  • GS1 DataBar Truncated

    DataBar Truncated keeps the same 14-digit content as DataBar Omnidirectional but prints it with reduced height. The trade-off is that it is meant for handheld scanners rather than flat checkout scanners.

  • GS1 DataBar Stacked

    GS1 DataBar Stacked cuts the DataBar symbol in half and places the two halves on top of each other. The result is a tiny, almost square barcode for items where even an EAN-8 would not fit.

  • GS1 DataBar Stacked Omnidirectional

    This DataBar version stacks two full-height rows, so it stays compact while remaining readable by omnidirectional checkout scanners. You will often find it on stickers for fruit and vegetables.

  • GS1 DataBar Limited

    DataBar Limited is the narrowest member of the DataBar family. It encodes a GTIN whose first digit is 0 or 1 and is designed for handheld scanning of small items, not for checkout lanes.

  • GS1 DataBar Expanded

    DataBar Expanded can carry far more than a product number: weight, price, batch or best-before date, all written as GS1 Application Identifiers. It does this in a symbol that is shorter than an equivalent GS1-128 barcode.

  • GS1 DataBar Expanded Stacked

    Expanded Stacked takes a long DataBar Expanded symbol and folds it into several shorter rows. It carries the same GS1 data, such as GTIN, weight and dates, but suits narrow labels and packs.

  • GS1 Composite Component (CC-A/CC-B) with GS1 DataBar

    A composite barcode stacks a small 2D component, based on MicroPDF417, directly above a linear symbol such as GS1 DataBar. The linear part identifies the product, while the 2D part adds details like batch number or expiry date.

DotCode

DotCode is a 2D barcode made of isolated dots instead of touching squares. It was designed for high-speed inkjet and laser coders on production lines, where dots cannot be placed perfectly but still need to be read.

MaxiCode

MaxiCode is the 2D code with a bullseye in the middle that appears on UPS shipping labels. It always has the same size and uses hexagonal modules so that conveyor scanners can read it at high speed in any orientation.

QR code contents

Each of these is a QR Code with a particular kind of text inside. The camera app can scan the symbol and returns that text. It does not join a Wi-Fi network, open a link, save a contact, or pay.

  • EPC QR Code (GiroCode, SEPA)

    The EPC QR Code lets you pay an invoice by scanning instead of typing an IBAN. It holds the payee name, IBAN, amount and reference in a short text block, and your banking app fills in the transfer for you to confirm.

  • Swiss QR Code (QR-bill / QR-Rechnung)

    Swiss invoices carry a QR code with a small Swiss cross in the middle. It contains everything needed for the payment, from the IBAN to the reference number, and replaced the old orange and red payment slips in 2022.

  • WiFi QR Code

    A WiFi QR code stores the network name, security type and password in one short line of text. Point a phone camera at it and the device offers to join the network, with no typing of long passwords.

  • vCard / MeCard contact QR Code

    Contact QR codes put a digital business card into a square code. vCard is the full, standard address-book format, while MeCard is a shorter notation that keeps the QR code small and easy to scan.

  • URL QR Code

    The most common QR code simply contains a web address. Scanning it opens the page in the browser, which is why it is important to preview the link first and make sure it leads where you expect.

  • Payment QR Codes (EMVCo, Pix, UPI)

    Around the world, shops and friends share QR codes to receive money. Brazil's Pix uses the EMVCo tag format, India's UPI uses a upi:// link, and in every case your own banking or wallet app shows the payee before you confirm.

  • SMS QR Code

    An SMS QR code prepares a text message for you: the recipient's number and the message body are filled in, and you only press send. It is often used for opt-in campaigns and service requests.

  • Email QR Code

    An email QR code starts a new message for you, complete with recipient, subject line and even body text. Nothing is sent until you tap send in your mail app.

  • Phone number QR Code

    A phone QR code holds a tel: link with a phone number. Scanning it brings up the dialler with the number ready, so callers do not mistype it.

  • Geo location QR Code

    A location QR code stores a place as coordinates, using the geo: format or a regular map link. When scanned, it shows the exact spot on a map and can start navigation.

  • Calendar event QR Code (vEvent)

    An event QR code carries a short iCalendar entry with title, start and end time and location. Scanning it lets people save the date to their calendar instead of copying details by hand.

  • Plain text QR Code

    A plain text QR code simply stores words or numbers. Nothing opens automatically; the scanner just shows the text, which works offline and is handy for notes, serial numbers or puzzles.

Book barcodes

ISBN, ISSN and ISMN are printed as EAN-13 barcodes. The camera app shows them as EAN-13 and returns the digits. It does not look up the book, the magazine, or the music.

  • ISBN barcode (Bookland EAN)

    Every book barcode is an EAN-13 whose first three digits, 978 or 979, mark it as 'Bookland'. The rest of the number is the ISBN-13, so scanning the barcode is the quickest way to identify an edition.

  • ISSN barcode (EAN-13 prefix 977)

    Magazines and journals carry an EAN-13 that begins with 977. Inside it sits the seven core digits of the ISSN, followed by two variant digits, while a small add-on barcode often shows the issue number.

  • ISMN barcode (music)

    The International Standard Music Number identifies printed music, much as the ISBN identifies books. Since 2008 it has 13 digits starting with 979-0, so it can be printed as a normal EAN-13 barcode.

4-state postal codes

These short rows of bars sit under an address and tell a sorting machine where to send the letter. The camera app does not scan them. The Zebra app does not scan them.

  • Royal Mail 4-State Customer Code (RM4SCC)

    RM4SCC turns a UK postcode plus delivery point suffix into a row of four-state bars. Each character uses four bars, two of them long, and a final check character catches reading errors.

  • Royal Mail Mailmark 4-state barcode

    Mailmark is Royal Mail's barcode system for business mail. Its four-state version comes in two lengths, type C and type L, and lets each letter be identified and tracked through sorting.

  • KIX code (PostNL)

    KIX, short for Klant Index, is the Dutch version of the Royal Mail four-state code. It encodes the postcode and house number below the address, but leaves out the start, stop and check symbols.

  • Australia Post 4-State Customer Barcode

    Australia Post's customer barcode encodes a Delivery Point Identifier in four-state bars. Longer variants add room for customer information, and Reed-Solomon error correction keeps it readable on sorting machines.

  • Japan Post Customer Barcode

    Japanese business mail often carries a short row of four-state bars under the address. It encodes the seven-digit postal code plus a block and building number, ending with a check character.

Code 11

Code 11 encodes the ten digits plus a dash, which is where its name comes from. It was created for labelling telecommunications equipment and normally carries one or two check digits.

Standard 2 of 5 (Industrial 2 of 5)

Standard 2 of 5 is one of the oldest barcodes: each digit is written with five bars, two of them wide, while the spaces carry no information. That makes it simple but wide compared with Interleaved 2 of 5.

  • Matrix 2 of 5

    Matrix 2 of 5 is a numbers-only barcode in the 2 of 5 family. Each digit uses three bars and two spaces, two of the five elements being wide, which makes it denser than Standard 2 of 5.

Telepen

Telepen was designed in Britain in 1972 to encode the full ASCII character set without shift codes. Many UK university libraries still use it on books and membership cards.

Pharmacode (Laetus)

Pharmacode is a very simple binary barcode printed on medicine cartons and leaflets. Packaging machines read it to confirm that the correct printed parts are combined, so it is not meant to be scanned by consumers.

Code 16K

Code 16K stacks between two and sixteen short rows, each built from Code 128 style characters. It was an early answer to fitting more data on small labels before matrix codes took over.

Code 49

Code 49 was one of the first stacked barcodes, created at Intermec in 1987. It packs up to eight short rows on top of each other to carry around 49 characters in a small area.

Han Xin Code

Han Xin Code is a square 2D barcode developed in China and designed to encode Chinese characters efficiently. It became an international standard as ISO/IEC 20830 in 2021.

Grid Matrix

Grid Matrix is a Chinese 2D symbology made of 6x6 macromodules arranged in a grid. It supports Chinese text natively and lets the user choose among five error-correction levels.

JAB Code (colour 2D)

JAB Code uses coloured modules instead of black and white, so each module can carry more than one bit. Developed by Fraunhofer SIT, it can also link several symbols together for larger amounts of data.

App codes

Snapcode, Spotify Codes, Pinterest Pincodes, App Clip Codes and the old Messenger Code are not symbols the camera app can scan. They are described on this page. WhatsApp, Telegram, WeChat, Instagram, LINE and Discord use normal QR Codes, and those have their own pages. The camera app returns the text. It does not open the app or log you in.

  • WhatsApp QR code

    Your WhatsApp QR code is a normal QR code that holds a wa.me link to your account. Anyone can scan it with WhatsApp or their phone camera to start a chat, and you can reset it to stop old codes working.

  • WeChat QR code

    WeChat uses QR codes for almost everything, from adding friends to paying in shops. They are standard QR codes, but the actions behind them generally need the WeChat app's own scanner.

  • Instagram QR code (formerly Nametag)

    Instagram used to offer Nametags, a stylised code only its own camera could read. Since 2020 profiles share ordinary QR codes instead, which any phone camera can scan to open the account.

  • LINE QR code

    LINE shows a personal QR code that friends scan to add you, and its desktop app can be logged in by scanning a QR code with your phone. Both are ordinary QR codes, but the actions need the LINE app.

  • Telegram QR code login

    Telegram Desktop and Telegram Web show a QR code that you scan with the Telegram app on your phone to log in. The code holds a short-lived login token, so it refreshes every few seconds.

  • Discord QR code login

    On the Discord login page a QR code lets you sign in without typing a password. You scan it with the Discord mobile app, confirm the login, and the code expires after a couple of minutes.