How to use it
- 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).
- Copy the decoded text — it starts with
M1for a single flight — and paste it above. Keep the spaces: the format is fixed-width. - 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:
| Position | Length | Field |
|---|---|---|
| 1 | 1 | Format code — always M |
| 2 | 1 | Number of flights (legs) encoded |
| 3–22 | 20 | Passenger name, SURNAME/GIVEN, padded with spaces |
| 23 | 1 | Electronic ticket indicator (E) |
| 24–30 | 7 | Booking reference (PNR) |
| 31–33 | 3 | From airport |
| 34–36 | 3 | To airport |
| 37–39 | 3 | Operating carrier |
| 40–44 | 5 | Flight number |
| 45–47 | 3 | Date of flight as a day of the year (Julian date) |
| 48 | 1 | Compartment / booking class |
| 49–52 | 4 | Seat |
| 53–57 | 5 | Check-in sequence number |
| 58 | 1 | Passenger status |
| 59–60 | 2 | Length 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.