2026-09-14
What a boarding pass barcode actually reveals — and how to redact it without breaking the rest of the photo
A boarding pass photo is one of the most casually shared travel images there is: a "we're off!" post, a screenshot forwarded to whoever's picking you up, a copy tucked into an expense report. If anyone thinks to cover anything before sharing it, it's usually the printed confirmation code or the full name at the top — cropped out, or covered with an emoji, a sticker, a quick blur. The barcode sitting right next to that text almost always survives untouched, because it reads as decoration. It isn't. It's a second, independent copy of the same information, in a format a person can't read but a five-second-old phone app can — and real security research has shown exactly what that costs someone.
What's actually packed into that barcode
Nearly every airline boarding pass, paper or mobile, follows the same industry specification: IATA's Bar Coded Boarding Pass (BCBP) Implementation Guide, which fixes both the data layout and which barcode symbology carries it — PDF417 on a printed pass, and Aztec, QR or Data Matrix on a phone screen (a square code fits a small display better than PDF417's wide strip). That fixed layout is the whole point of the standard: any airline's kiosk or gate scanner can read any other airline's pass, because the fields are always in the same place. Those fields are also always the same ones a person can already read on the printed part — name, booking reference, flight number and date, seat — plus, in many real passes, ones that never make it onto the printed side at all, like a frequent-flyer number.
The 2015 case that made this concrete
This stopped being a theoretical concern a decade ago. In 2015, security journalist Brian Krebs published "What's in a Boarding Pass Barcode? A Lot," describing a reader who took a boarding pass photo someone had posted publicly, ran it through a free online barcode reader, and pulled out the passenger's full name and PNR (the airline's booking reference) — precisely the two pieces of information that airline self-service portals commonly accept as a full login. From there, per Krebs's account, the reader was able to view the passenger's account details and could have gone further: cancelling or rebooking flights, editing information tied to the itinerary. Krebs followed up two years later with "Why It's Still A Bad Idea to Post or Trash Your Airline Boarding Pass" because the underlying weakness — a barcode standard built for interoperability, not secrecy, sitting on top of a login system that trusts exactly the fields that barcode contains in plain text — hadn't changed. It's the same reason airlines and consumer-security writers still tell people to shred a paper boarding pass rather than toss it whole.
Redacting a boarding pass photo the way it actually needs to be done
The fix isn't a different crop of the printed text — it's covering the barcode itself, the same way NearIMG's redact tool already handles a face, plate or ID number, on your own device, nothing uploaded to do it:
- Open the photo in the Blur / Redact tool and drag a box over the entire barcode — strip or square — with a visible margin around every edge. A tight box that clips a corner can leave just enough of the pattern for a reader to guess the rest; a generous one doesn't cost you anything.
- Leave the mode on Solid block, the tool's default. A mosaic pixelates the region instead of deleting it, and a barcode is exactly the kind of small, highly-structured pattern that averaging doesn't destroy as thoroughly as it looks like it does — the same reason NearIMG's own redaction guidance steers toward solid coverage for anything short and structured, rather than assuming "blurred enough to look gone" means "gone."
- Cover the printed name and PNR text too, out of the same habit — it costs one more drag, and it's the field a person glancing at the photo would otherwise still read directly.
- Apply, then save. The regions are painted onto the full-resolution photo locally; one photo downloads directly, a batch downloads together as a ZIP.
One side effect worth knowing, the same one NearIMG's redact tool carries for any photo: because the download is freshly re-encoded from the edited pixels, whatever camera metadata the original carried — GPS coordinates, if your phone recorded any at the gate — isn't carried over either. Redacting the barcode and stripping that metadata happen in the same save, whether or not that's the reason you opened the tool.
The flip side: when you actually need the barcode to keep working
Sometimes the goal is the opposite of hiding it — you're texting the real pass to whoever's checking a bag for you, or keeping a screenshot as an offline backup, and it has to still scan at the gate. The barcode formats behind BCBP do carry built-in error correction for exactly this kind of real-world damage: for a QR code specifically, DENSO WAVE — the format's inventor, which maintains it alongside ISO/IEC 18004 — documents four correction levels that can reconstruct roughly 7%, 15%, 25% or 30% of the code's data even if that much of it is damaged or obscured. That budget exists for a torn corner or a smudge of glare, not for what heavy recompression does to an image: JPEG's compression works by smoothing away sharp, high-contrast transitions to save bytes, and a barcode's module edges are nothing but sharp, high-contrast transitions. Resize or re-save one hard enough and the damage isn't scattered speckle a correction budget can patch — it's the exact structure the code depends on, gone. The practical fix isn't hoping error correction covers it; it's not compressing it hard in the first place. If you're sending a boarding pass photo somewhere it has to keep scanning, use NearIMG's Convert tool to keep it as a lossless PNG rather than a lower-quality JPEG re-save, and if you resize it, don't take it so small that the barcode's own fine bars or modules blur into each other on screen.
Honest limits of this approach
- Nothing detects the barcode for you. NearIMG's redact tool doesn't scan the photo or find the barcode automatically — you draw the box, which means it's on you to cover it completely, margin included.
- It doesn't decode your barcode either. This isn't a barcode reader — NearIMG never reads or reports what's actually encoded in your specific pass; the fields described above come from IATA's published spec and Krebs's reporting, not from anything the tool inspects.
- It can't reach a copy you've already posted. If a boarding pass photo is already public somewhere, redacting a fresh copy locally doesn't touch the one that's out there — this only protects what you're about to share next.
The short version
A boarding pass barcode isn't decoration — it's a second, machine-readable copy of the same name, booking reference, flight and seat printed next to it, sometimes with a frequent-flyer number that was never printed at all. IATA's own BCBP spec is why the layout is so consistent across airlines, and Krebs on Security's 2015 and 2017 reporting is why that consistency has already been used against a real person, through nothing more exotic than a free online barcode reader. Cover the barcode, not just the text next to it — solid block, generous margin, on the device the photo is already on — and if you need the real pass to keep scanning for someone else, keep it lossless instead of hoping a bit of built-in error correction absorbs whatever a messaging app's recompression does to it.