Free tool

Boarding pass barcode decoder.

Paste the data from a boarding pass barcode and see every field in the IATA BCBP standard explained — passenger, booking reference, route, flight, date, seat and check-in status. It runs entirely in your browser.

1. Paste the barcode text

Get the text by scanning the PDF417/Aztec code with any barcode scanner app, then paste it here. Everything runs in your browser — nothing is uploaded or stored.

2. Decoded fields

Paste a boarding pass string, or try the sample, to see each field explained.

How to use it

  1. Scan your boarding pass barcode with any barcode scanner app that reads PDF417 and Aztec (printed passes use PDF417; mobile passes usually Aztec or QR).
  2. Copy the decoded text — it starts with M1 for a single flight — and paste it above. Keep the spaces: the format is fixed-width.
  3. Press Decode. On browsers with a built-in barcode detector (e.g. Chrome on Android) you can also scan an image directly.

More on scanning in how to read a ticket barcode.

The BCBP fields, explained

The first 60 characters of every IATA Bar-Coded Boarding Pass follow the same fixed layout:

PositionLengthField
11Format code — always M
21Number of flights (legs) encoded
3–2220Passenger name, SURNAME/GIVEN, padded with spaces
231Electronic ticket indicator (E)
24–307Booking reference (PNR)
31–333From airport
34–363To airport
37–393Operating carrier
40–445Flight number
45–473Date of flight as a day of the year (Julian date)
481Compartment / booking class
49–524Seat
53–575Check-in sequence number
581Passenger status
59–602Length of the conditional data that follows (hex)

After that comes optional "conditional" data (version number, document and frequent-flyer details, baggage tags, airline-specific fields) and, on many passes, a ^ followed by a digital signature.

Worked example

M1SAMPLE/ALEX         EXYZ789 LHRJFKXX 0123 275Y014C0042 100

Reads as: passenger SAMPLE/ALEX, e-ticket, booking XYZ789, LHR → JFK on carrier XX flight 123, day 275 of the year (2 October in a non-leap year), class Y, seat 14C, check-in number 42, status 1 (checked in), no conditional data. This is a made-up sample; XX isn't a real airline.

Connecting and round-trip passes

When the second character is 2, 3 or 4, one barcode holds several flights — common for connections booked on one ticket. The name appears once; each flight then repeats the booking reference, route, flight, date, seat and status block. Many airlines still issue a separate boarding pass per flight, and a return flight usually gets its own pass when you check in for it.

What this can't tell you

  • Whether the pass is valid — only the airline's departure-control system knows that.
  • Airline-private fields, which each carrier defines for itself.
  • The year of travel — BCBP stores only the day of the year.

Privacy: the booking reference and surname in this barcode are enough to open many airline bookings. Decode only your own passes, and never post a boarding pass photo online. Background reading: airline boarding pass barcodes.

Frequently asked questions

How do I read the barcode on my boarding pass?

Scan it with a barcode app that reads PDF417 or Aztec, then paste the text into a BCBP decoder. The data starts with M1 and contains your name, booking reference, route, flight number, day of the year, class, seat and check-in sequence.

Is my data uploaded?

No. The decoder is plain JavaScript that runs in your browser; nothing you paste or scan is sent anywhere.

What does the date number on a boarding pass mean?

It's the Julian date — the day of the year from 1 to 366. For example, 275 is 2 October in a non-leap year.