Boarding Pass Barcode Decoder

BCBP
Decode another barcode or choose a different type

Results

Valid: BCBP barcode.

Raw value

M2LASTNAME/FIRSTNAME EABC123 YULFRAAC 0834 226F001A0025 100DEF456 FRAGVALH 3664 227C012C0002 100

Extracted fields

Name Value Orca Variable
Format Code M $BCBP:FORMATCODE
Number Of Legs Encoded 2 $BCBP:NUMBEROFLEGS
Passenger Name Raw LASTNAME/FIRSTNAME $BCBP:PASSENGERNAME
Passenger Surname Lastname $BCBP:LASTNAME
Passenger Given Names Firstname $BCBP:FIRSTNAME
Electronic Ticket Indicator Electronic Ticket $BCBP:TICKETINDICATOR
Leg One Operating Carrier PNR Code ABC123 $BCBP:LEG1PNR
Leg One From City Airport Code YUL $BCBP:LEG1ORIGIN
Leg One To City Airport Code FRA $BCBP:LEG1DESTINATION
Leg One Operating Carrier Designator AC $BCBP:LEG1AIRLINE
Leg One Flight Number 0834 $BCBP:LEG1FLIGHTNUMBER
Leg One Date Of Flight 2026-08-14 $BCBP:LEG1FLIGHTDATE
Leg One Compartment Code F $BCBP:LEG1COMPARTMENT
Leg One Seat Number 001A $BCBP:LEG1SEATNUMBER
Leg One Check In Sequence Number 0025 $BCBP:LEG1CHECKINSEQUENCE
Leg One Passenger Status Checked in $BCBP:LEG1PASSENGERSTATUS
Leg Two Operating Carrier PNR Code DEF456 $BCBP:LEG2PNR
Leg Two From City Airport Code FRA $BCBP:LEG2ORIGIN
Leg Two To City Airport Code GVA $BCBP:LEG2DESTINATION
Leg Two Operating Carrier Designator LH $BCBP:LEG2AIRLINE
Leg Two Flight Number 3664 $BCBP:LEG2FLIGHTNUMBER
Leg Two Date Of Flight 2026-08-15 $BCBP:LEG2FLIGHTDATE
Leg Two Compartment Code C $BCBP:LEG2COMPARTMENT
Leg Two Seat Number 012C $BCBP:LEG2SEATNUMBER
Leg Two Check In Sequence Number 0002 $BCBP:LEG2CHECKINSEQUENCE
Leg Two Passenger Status Checked in $BCBP:LEG2PASSENGERSTATUS

Need to decode barcodes in your app?

Copy the example below to get started using our free Barcode Parser API. No API key needed.

cURL Node.js Python C# Go PHP Java HTML
barcode=$'M2LASTNAME/FIRSTNAME  EABC123 YULFRAAC 0834 226F001A0025 100DEF456 FRAGVALH 3664 227C012C0002 100'
curl -sS -G https://parser.orcascan.com/ \
    --data-urlencode "barcode=$barcode" \
    --data-urlencode 'type=bcbp'
// Node.js 18+
var barcode = "M2LASTNAME/FIRSTNAME  EABC123 YULFRAAC 0834 226F001A0025 100DEF456 FRAGVALH 3664 227C012C0002 100";
var url = "https://parser.orcascan.com/?barcode=" + encodeURIComponent(barcode) + "&type=bcbp";

fetch(url)
    .then(function(res) { return res.json(); })
    .then(console.log);
import json
from urllib.parse import quote
from urllib.request import urlopen

barcode = "M2LASTNAME/FIRSTNAME  EABC123 YULFRAAC 0834 226F001A0025 100DEF456 FRAGVALH 3664 227C012C0002 100"
url = "https://parser.orcascan.com/?barcode=" + quote(barcode, safe="") + "&type=bcbp"

with urlopen(url) as response:
    print(json.load(response))
using System;
using System.Net.Http;

var barcode = "M2LASTNAME/FIRSTNAME  EABC123 YULFRAAC 0834 226F001A0025 100DEF456 FRAGVALH 3664 227C012C0002 100";
var url = "https://parser.orcascan.com/?barcode=" + Uri.EscapeDataString(barcode) + "&type=bcbp";

using var client = new HttpClient();
Console.WriteLine(await client.GetStringAsync(url));
package main

import (
    "io"
    "net/http"
    "net/url"
    "os"
)

func main() {
    barcode := "M2LASTNAME/FIRSTNAME  EABC123 YULFRAAC 0834 226F001A0025 100DEF456 FRAGVALH 3664 227C012C0002 100"
    endpoint := "https://parser.orcascan.com/?barcode=" + url.QueryEscape(barcode) + "&type=bcbp"
    res, err := http.Get(endpoint)
    if err != nil { panic(err) }
    defer res.Body.Close()
    io.Copy(os.Stdout, res.Body)
}
<?php
$barcode = "M2LASTNAME/FIRSTNAME  EABC123 YULFRAAC 0834 226F001A0025 100DEF456 FRAGVALH 3664 227C012C0002 100";
$url = "https://parser.orcascan.com/?barcode=" . rawurlencode($barcode) . "&type=bcbp";

echo file_get_contents($url);
import java.net.URI;
import java.net.URLEncoder;
import java.net.http.*;
import java.nio.charset.StandardCharsets;

class BarcodeParser {
    public static void main(String[] args) throws Exception {
        String barcode = "M2LASTNAME/FIRSTNAME  EABC123 YULFRAAC 0834 226F001A0025 100DEF456 FRAGVALH 3664 227C012C0002 100";
        String url = "https://parser.orcascan.com/?barcode=" +
            URLEncoder.encode(barcode, StandardCharsets.UTF_8) + "&type=bcbp";
        var request = HttpRequest.newBuilder(URI.create(url)).build();
        var response = HttpClient.newHttpClient().send(
            request, HttpResponse.BodyHandlers.ofString());
        System.out.println(response.body());
    }
}
<!doctype html>
<html>
<body>
<pre id="result">Loading...</pre>
<script>
var barcode = "M2LASTNAME/FIRSTNAME  EABC123 YULFRAAC 0834 226F001A0025 100DEF456 FRAGVALH 3664 227C012C0002 100";
var url = "https://parser.orcascan.com/?barcode=" + encodeURIComponent(barcode) + "&type=bcbp";
fetch(url)
    .then(function(res) { return res.json(); })
    .then(function(json) {
        document.getElementById("result").textContent = JSON.stringify(json, null, 2);
    });
</script>
</body>
</html>

Need to decode lots of BCBP barcodes?

Import a spreadsheet of barcodes and automatically extract their data into separate columns.

Decode barcodes in bulk →

Need to extract BCBP data as you scan?

Scan barcodes with your phone and automatically capture their data in a shared spreadsheet.

Scan with your phone →

Need help tracking BCBP barcodes?

We've helped organizations of all sizes tackle barcode challenges, chat with our team live for help to find a solution.