İngiliz pasaportu, Birleşik Krallık'taki bir müşteri kayıt akışının en sık gördüğü belgelerden biri. Sorumlu kurum, kendini “Birleşik Krallık pasaportlarının tek düzenleyicisi” olarak tanımlayan HM Passport Office; kendi ifadesiyle “her yıl İngiliz vatandaşlarına ve diğer İngiliz uyruklulara 6 milyondan fazla pasaport düzenlenmesinden” sorumlu. Ürününüz Birleşik Krallık'taki müşterileri kontrol ediyorsa bunlardan çok okuyacaksınız.
Bu yazı, bir İngiliz pasaportundaki verileri kendi sistemine aktarması gereken yazılımcılar için. Veri sayfasında ne olduğunu, makinece okunabilir bölgenin nasıl düzenlendiğini, 2026'da hangi tasarımlarla karşılaşacağınızı ve tek bir API çağrısının ne döndürdüğünü anlatıyor. Pasaportun kendisiyle ilgili her ifade GOV.UK ya da ICAO'dan alıntıdır ve geçtiği yerde bağlantısı verilir; alıntıların aslı İngilizce, çeviriler bize ait.
Burası doc.cheap'in blogu; doc.cheap bir pasaport ve kimlik OCR API'si. Ürünle ilgili kısmı bunu akılda tutarak okuyun.
Tek bakışta veri sayfası
HM Passport Office'in kendi tarihî pasaport bilgileri kılavuzu güncel pasaport defterini anlatıyor. “1 Mart 2020'de Birleşik Krallık C serisi e-pasaport (mavi e-pasaport) aşamalı olarak üretime alındı.” Aynı sayfaya göre bu pasaport:
- “defterin ön kısmında dayanıklı, polikarbonattan bir kişisel bilgiler sayfasına sahiptir”
- “3. sayfada basılı şerhler içerir”
- “müşterinin pasaport fotoğrafını defter içinde 3 kez gösterir”
- “kişisel bilgiler sayfasına gömülü elektronik çipe sahiptir”
OCR için bunun anlamı tek: ihtiyacınız olan her şey öndeki tek bir sayfada. O sayfayı düz ve eksiksiz fotoğraflayın; basılı alanlar, portre ve makinece okunabilir bölge tek bir görüntüde olur. Çip de aynı sayfanın içinde, ama bir fotoğraf çipi okuyamaz; görüntünün size verdiği şey basılı sayfadır.
Makinece okunabilir bölge
MRZ, veri sayfasının alt kenarı boyunca uzanan büyük harf, rakam ve < dolgu karakterlerinden oluşan bloktur. Aynı kılavuz nereden geldiğini açıklıyor: “Müşterinin kişisel bilgileri, pasaport tarayıcılarının okuyabileceği karakterlere dönüştürülür. Karakterler pasaporta her biri 44 karakterlik 2 satır halinde eklenir. Bu bilgi makinece okunabilir bölge olarak bilinir.”
44 karakterlik iki satır, ICAO Doc 9303'ün pasaport formatıdır. ICAO'nun Doc 9303 sayfası 4. Bölüm'ü “Makinece Okunabilir Pasaportlar (MRP'ler) ve TD3 Boyutundaki Diğer MRTD'ler için Spesifikasyonlar” olarak adlandırıyor; pasaport düzenine TD3 denmesinin nedeni bu. 5. ve 6. Bölümler, kimlik kartlarının kullandığı daha küçük TD1 ve TD2 boyutlarını kapsıyor.
Kılavuz, ilk makinece okunabilir İngiliz pasaportlarını anlatırken bölgenin neleri içerdiğini sıralıyor: müşterinin adı, pasaport numarası, kontrol haneleri, uyruk, doğum tarihi, cinsiyet, pasaportun son geçerlilik tarihi ve bir kişisel kimlik numarası. Kontrol haneleri bu alanlar üzerinden hesaplanır; bu yüzden yanlış okunmuş bir karakter genellikle tutmayan bir hane olarak ortaya çıkar. Bu da MRZ'yi, okuyan kim olursa olsun ona güvenmeden kendiniz yeniden kontrol edebileceğiniz sayfadaki tek kısım yapar.
Bir ayrıştırıcı için iki pratik nokta:
- Düzenlenme tarihi yok. Bölge bunu taşımaz. Gerekiyorsa basılı sayfadan alınmalıdır.
- Uyruk her zaman
GBRdeğildir. Bölgedeki ülke kodları ISO'ya değil ICAO Doc 9303'e uyar ve İngiliz uyrukluk sınıflarının kendi kodları vardır. doc.cheap'in yanıt referansıGBRdışında beş kod listeler –GBD,GBN,GBO,GBPveGBS–; yani yalnızcaGBRkabul eden bir ayrıştırıcı bazı İngiliz pasaportlarını reddeder.
Hangi tasarımlarla karşılaşacaksınız
Aynı anda birden fazla İngiliz pasaportu tasarımı geçerli; bu yüzden tek bir görünüm bekleyen bir kontrol kurmayın.
- 2020'nin mavi defteri. Yukarıda anlatılan C serisi e-pasaport.
- Aralık 2025'ten itibaren yeni tasarım. GOV.UK şunu duyurdu: “Majesteleri Kral III. Charles'ın armasını taşıyan ilk İngiliz pasaportları, yenilenmiş bir tasarımın parçası olarak Aralık'tan itibaren düzenlenecek”; tasarımı “2020'den bu yana ilk tamamen yeni tasarım” olarak nitelendirdi.
- Süresi hâlâ dolmamış eski defterler. Aynı duyuru şöyle diyor: “Kraliçe II. Elizabeth'in armasıyla düzenlenen pasaportlar son geçerlilik tarihine kadar geçerliliğini korur.”
Geçerlilik süresinin de bir tuzağı var. Ekim 2018'den önce yenileme, eski defterde kalan süreyi yeni pasaporta aktarabiliyordu: kılavuz, 7 ayı kalmışken yenileme yapan ve “10 yıl 7 ay geçerli” bir pasaport alan bir yetişkin örneğini veriyor. Ekim 2018'den beri yenilemeler “en fazla: 10 yıl geçerlilik (yetişkinler için), 5 yıl geçerlilik (çocuklar için)” alıyor. Yani son geçerlilik tarihini belgeden okuyun; düzenlenme tarihinden hesaplamayın.
Tek bir API çağrısıyla okuma
doc.cheap pasaportu tek bir görüntüden okur: fotoğrafın base64 ile kodlanıp bir JSON gövdesine konduğu tek bir POST /v1/scans. Herkese açık sandbox anahtarı sk_sandbox_public hesap olmadan çalışır. Bununla bir örnek (specimen) görüntü kullanın, asla gerçek bir pasaport değil; çünkü herkese açık anahtarla yapılan taramalar bir yıl saklanır.
curl -X POST https://api.doc.cheap/v1/scans \
-H "Authorization: Bearer sk_sandbox_public" \
-H "Content-Type: application/json" \
-d "{\"image\": \"$(base64 < document.jpg | tr -d '\n')\",
\"options\": {\"expect_country\": \"GBR\", \"return_portrait\": false}}"
expect_country, düzenleyen ülkeyi zaten biliyorsanız bir ipucu olarak iletir; return_portrait: false ise sahibin yüzünü yanıtın dışında tutar. Yanıtın bir İngiliz pasaportu için önemli kısımları uydurma değerlerle şöyle görünür:
{
"document": {
"kind": "passport",
"issuing_state": "GBR",
"issuing_state_detail": { "code": "GBR", "alpha3": "GBR", "alpha2": "GB", "category": "iso" },
"number": "000000000",
"issue_date": "2025-12-01",
"expiry_date": "2035-12-01",
"is_expired": false
},
"holder": {
"surname": "SPECIMEN",
"given_names": "ANGELA ZOE",
"birth_date": "1990-01-01",
"nationality": "GBR"
},
"mrz": { "status": "passed", "reason": null },
"authenticity": { "overall": "not_checked", "checks": [] }
}
Buradan okunacaklar:
mrz.statusdeğeripassed,failedya daabsentolur.passed, her kontrol hanesinin doğrulandığı ve bölgedeki hiçbir şeyin basılı sayfayla çelişmediği anlamına gelir.faileddurumundamrz.reasonalanı adlandırır; böylece yeni bir fotoğraf isteyip istemeyeceğinizi bilirsiniz. Haneleri kendiniz yeniden hesaplamak istersenizmrz.textbölgeyi tek bir dize olarak taşır; MRZ kontrol kılavuzu bunu adım adım anlatır.document.issue_datebasılı sayfadan gelir, çünkü bölgede bu tarih yoktur.holder.nationality_detail,GBDve diğer İngiliz kodlarını yazıldığı gibi korur;categorydeğeribritish_nationality,alpha3değeriGBRolur. Böylece sınıfı kaybetmeden devlete göre anahtarlama yapabilirsiniz.
İngiliz pasaportu OCR sayfası aynı bilgileri, GOV.UK ve ICAO bağlantılarıyla birlikte tek bir yerde toplar.
OCR'ın size söylemedikleri
Bir pasaportu okumak ile doğrulamak farklı işlerdir. doc.cheap basılı olanı okur ve MRZ'yi hem kendi içinde hem de görsel bölgeyle karşılaştırarak kontrol eder. Belgenin gerçek olup olmadığını kontrol etmez: yalnızca tanıma senaryosunda authenticity.overall değeri not_checked olur ve çipi okumaz. Akışınız yüz eşleştirme, canlılık kontrolü ya da özgünlük kontrolü gerektiriyorsa bunlar, bu işler için yapılmış araçlarla ayrı adımlardır.
Deneyin
Herkese açık sandbox anahtarı hesap gerektirmez. Kaydolduğunuzda kendi anahtarınızda her ay 100 ücretsiz tanıma alırsınız; bu, tüm akışı kurup test etmeye yeter. Bir sağlayıcı seçiyorsanız pasaport OCR API karşılaştırması yayımlanmış fiyatları yan yana koyar; İngiliz belgeleri için başlangıç noktası ise İngiliz pasaportu OCR sayfasıdır.
Size bir soru: İngiliz pasaportunun hangi kısmı ayrıştırıcınızı en çok uğraştırdı – uyruk kodları mı, eski geçerlilik kuralları mı, yoksa başka bir şey mi? Aşağıdaki yorumlarda bize yazın.