Paspor Inggris adalah salah satu dokumen yang paling sering ditemui alur onboarding di Britania Raya. Penanggung jawabnya adalah HM Passport Office, yang menyebut dirinya "satu-satunya penerbit paspor Britania Raya" dan, dengan kata-katanya sendiri, bertanggung jawab "atas penerbitan lebih dari 6 juta paspor setiap tahun bagi warga negara Inggris dan warga Inggris lainnya". Jika produk Anda memeriksa pelanggan di Britania Raya, Anda akan membaca banyak paspor ini.

Tulisan ini untuk developer yang perlu memindahkan data dari paspor Inggris ke sistem mereka sendiri. Isinya: apa yang ada di halaman data, bagaimana zona yang dapat dibaca mesin disusun, desain apa saja yang akan Anda temui di 2026, dan apa yang dikembalikan oleh satu panggilan API. Setiap pernyataan tentang paspornya sendiri dikutip dari GOV.UK atau ICAO, dengan tautan di tempat kutipan muncul; aslinya berbahasa Inggris dan terjemahannya dari kami.

Ini adalah blog doc.cheap, sebuah API OCR untuk paspor dan kartu identitas. Baca bagian tentang produk dengan mengingat hal itu.

Halaman data dalam satu gambar

Panduan informasi paspor historis milik HM Passport Office sendiri menjelaskan buku paspor yang berlaku sekarang. "Pada 1 Maret 2020, e-paspor Britania Raya seri C (e-paspor biru) mulai diproduksi secara bertahap." Menurut halaman yang sama, paspor ini:

  • "memiliki halaman data pribadi dari polikarbonat yang tahan lama di bagian depan buku"
  • "memiliki catatan pengamatan yang dicetak di halaman 3"
  • "menampilkan foto paspor pelanggan 3 kali di dalam buku"
  • "memiliki cip elektronik yang tertanam di halaman data pribadi"

Bagi OCR, artinya satu hal: semua yang Anda perlukan ada di satu halaman di bagian depan. Foto halaman itu dalam keadaan rata dan utuh, maka Anda mendapat kolom-kolom tercetak, foto wajah, dan zona yang dapat dibaca mesin dalam satu gambar. Cipnya ada di dalam halaman yang sama, tetapi foto tidak dapat membaca cip; yang diberikan sebuah gambar adalah halaman tercetaknya.

Zona yang dapat dibaca mesin

MRZ adalah blok huruf kapital, angka, dan karakter pengisi < di sepanjang bagian bawah halaman data. Panduan yang sama menjelaskan asal-usulnya: "Data pribadi pelanggan diubah menjadi karakter yang dapat dibaca oleh pemindai paspor. Karakter tersebut ditambahkan ke paspor dalam 2 baris yang masing-masing berisi 44 karakter. Informasi ini dikenal sebagai zona yang dapat dibaca mesin."

Dua baris berisi 44 karakter adalah format paspor dalam ICAO Doc 9303. Halaman ICAO untuk Doc 9303 menamai Bagian 4-nya "Spesifikasi untuk Paspor yang Dapat Dibaca Mesin (MRP) dan MRTD Lain Berukuran TD3", itulah sebabnya tata letak paspor disebut TD3. Bagian 5 dan 6 membahas ukuran TD1 dan TD2 yang lebih kecil, yang dipakai kartu identitas.

Saat menggambarkan buku paspor Inggris pertama yang dapat dibaca mesin, panduan itu merinci isi zonanya: nama pelanggan, nomor paspor, digit pemeriksa, kewarganegaraan, tanggal lahir, jenis kelamin, tanggal habis berlaku paspor, dan nomor identitas pribadi. Digit pemeriksa dihitung dari kolom-kolom tersebut, sehingga karakter yang salah baca biasanya terlihat sebagai digit yang tidak cocok. Karena itu MRZ adalah satu-satunya bagian halaman yang dapat Anda periksa ulang sendiri, tanpa harus memercayai siapa pun yang membacanya.

Dua hal praktis untuk parser:

  • Tidak ada tanggal penerbitan. Zona ini tidak memuatnya. Jika Anda membutuhkannya, tanggal itu harus diambil dari halaman tercetak.
  • Kewarganegaraan tidak selalu GBR. Kode negara di zona ini mengikuti ICAO Doc 9303, bukan ISO, dan kelas kewarganegaraan Inggris punya kode sendiri. Referensi respons doc.cheap mencantumkan lima kode selain GBR – GBD, GBN, GBO, GBP, dan GBS – jadi parser yang hanya menerima GBR akan menolak sebagian paspor Inggris.

Desain yang akan Anda temui

Lebih dari satu desain paspor Inggris berlaku pada saat yang sama, jadi jangan membuat pemeriksaan yang hanya mengharapkan satu tampilan.

  • Buku biru tahun 2020. E-paspor seri C yang dijelaskan di atas.
  • Desain baru mulai Desember 2025. GOV.UK mengumumkan bahwa "Paspor Inggris pertama yang memuat Lambang Yang Mulia Raja Charles III akan diterbitkan mulai Desember sebagai bagian dari desain yang diperbarui", dan menyebutnya "desain yang sepenuhnya baru untuk pertama kalinya sejak 2020".
  • Buku lama yang masih berlaku. Pengumuman yang sama menyatakan: "Paspor yang diterbitkan dengan Lambang Ratu Elizabeth II tetap berlaku hingga tanggal habis berlakunya."

Masa berlaku juga punya jebakan. Sebelum Oktober 2018, perpanjangan bisa membawa sisa masa berlaku buku lama: panduan itu memberi contoh orang dewasa yang memperpanjang dengan sisa 7 bulan dan menerima paspor yang "berlaku selama 10 tahun 7 bulan". Sejak Oktober 2018, perpanjangan mendapat "tidak lebih dari: masa berlaku 10 tahun (untuk orang dewasa), masa berlaku 5 tahun (untuk anak-anak)". Jadi bacalah tanggal habis berlaku dari dokumennya; jangan menghitungnya dari tanggal penerbitan.

Membacanya dengan satu panggilan API

doc.cheap membaca paspor dari satu gambar: satu POST /v1/scans dengan foto yang dienkode base64 di dalam body JSON. Kunci sandbox publik sk_sandbox_public bisa dipakai tanpa akun. Gunakan gambar contoh (specimen) dengan kunci itu, jangan paspor asli, karena pemindaian dengan kunci publik disimpan selama satu tahun.

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 meneruskan negara penerbit sebagai petunjuk jika Anda sudah mengetahuinya, dan return_portrait: false menjaga wajah pemegang paspor tetap di luar respons. Bagian jawaban yang penting untuk paspor Inggris terlihat seperti ini, dengan nilai rekaan:

{
  "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": [] }
}

Yang perlu dibaca darinya:

  • mrz.status bernilai passed, failed, atau absent. passed berarti setiap digit pemeriksa valid dan tidak ada isi zona yang bertentangan dengan halaman tercetak. Pada failed, mrz.reason menyebut kolomnya, sehingga Anda tahu apakah perlu meminta foto baru. mrz.text memuat zona sebagai satu string jika Anda ingin menghitung ulang digitnya sendiri; panduan pemeriksaan MRZ menjelaskannya langkah demi langkah.
  • document.issue_date berasal dari halaman tercetak, karena zona tidak memuatnya.
  • holder.nationality_detail mempertahankan GBD dan kode Inggris lainnya sebagaimana tertulis, dengan category bernilai british_nationality dan alpha3 bernilai GBR, sehingga Anda bisa memakai negara sebagai kunci tanpa kehilangan kelasnya.

Halaman OCR paspor Inggris memuat fakta yang sama di satu tempat, lengkap dengan tautan ke GOV.UK dan ICAO.

Yang tidak diberitahukan OCR

Membaca paspor dan memverifikasinya adalah dua pekerjaan berbeda. doc.cheap membaca apa yang tercetak dan memeriksa MRZ terhadap dirinya sendiri serta terhadap zona visual. Layanan ini tidak memeriksa apakah dokumennya asli: dalam skenario khusus pengenalan, authenticity.overall bernilai not_checked, dan cipnya tidak dibaca. Jika alur Anda memerlukan pencocokan wajah, pemeriksaan keaktifan, atau pemeriksaan keaslian, itu adalah langkah terpisah dengan alat yang dibuat khusus untuknya.

Coba sekarang

Kunci sandbox publik tidak memerlukan akun. Dengan mendaftar, Anda mendapat 100 pengenalan gratis setiap bulan pada kunci Anda sendiri, cukup untuk membangun dan menguji seluruh alur. Jika Anda sedang memilih penyedia, perbandingan API OCR paspor menyandingkan harga yang dipublikasikan, dan halaman OCR paspor Inggris adalah titik awal untuk dokumen Inggris.

Pertanyaan untuk Anda: bagian mana dari paspor Inggris yang paling merepotkan parser Anda – kode kewarganegaraan, aturan masa berlaku yang lama, atau hal lain? Ceritakan di kolom komentar di bawah.