Thẻ căn cước quốc gia không phải là một cuốn hộ chiếu thu nhỏ. Nó có vùng đọc máy riêng, nằm ở mặt sau chứ không phải mặt có ảnh, gồm ba dòng 30 ký tự thay vì hai dòng 44 ký tự. ICAO gọi bố cục này là TD1, và ở Liên minh châu Âu nó không còn là tùy chọn: mọi thẻ căn cước mà một quốc gia thành viên cấp cho công dân của mình nay đều phải có vùng này, và những thẻ không có vùng đọc máy hoạt động được sẽ mất hiệu lực vào một ngày cố định.
Bài viết này đặt hai nguồn gốc cạnh nhau. Nguồn thứ nhất là ICAO Doc 9303 Phần 5, quy định vị trí của từng ký tự TD1. Nguồn thứ hai là luật EU: Quy định (EU) 2019/1157 và Quy định (EU) 2025/1208 của Hội đồng, vốn bắt buộc vùng TD1 đối với thẻ căn cước của các quốc gia thành viên. Mỗi dòng trong các bảng dưới đây đều được trích từ những văn bản đó kèm liên kết, để bạn có thể dẫn nguồn. Quốc gia nào không thể xác định được từ các văn bản đó thì được bỏ qua.
Đây là blog của doc.cheap, một API OCR hộ chiếu và thẻ căn cước đọc được cả hộ chiếu lẫn thẻ căn cước và kiểm tra lại các chữ số kiểm tra MRZ trên máy chủ. Không nội dung nào dưới đây phụ thuộc vào nó.
Thẻ TD1 là gì
ICAO Doc 9303 là tiêu chuẩn quốc tế cho giấy tờ đi lại đọc được bằng máy. Tiêu chuẩn này được chia thành nhiều phần, trong đó ba phần mô tả ba kích thước MRZ: Phần 4 dành cho hộ chiếu và các giấy tờ cỡ TD3 khác, Phần 5 dành cho "giấy tờ đi lại chính thức đọc được bằng máy cỡ TD1", và Phần 6 dành cho cỡ TD2.
Phần 5 (ấn bản thứ tám, 2021) quy định thẻ vật lý theo cỡ ID-1 của ISO/IEC 7810: 85,60 × 53,98 mm, bằng cỡ một chiếc thẻ ngân hàng. Nó đặt vùng đọc máy ở mặt sau: "MRZ nằm ở mặt sau của TD1." Chỉ một câu này đã giải thích phần lớn các lần đọc thẻ căn cước thất bại trong thực tế. Ảnh chụp mặt trước của thẻ có khuôn mặt, họ tên và số thẻ, nhưng không có vùng nào để kiểm tra.
So sánh ba định dạng MRZ:
| Định dạng | Dòng × ký tự | Quy định tại | Giấy tờ điển hình |
|---|---|---|---|
| TD1 | 3 × 30 | Doc 9303 Phần 5 | Thẻ căn cước quốc gia, thẻ cư trú |
| TD2 | 2 × 36 | Doc 9303 Phần 6 | Một số thẻ cũ và giấy tờ đi lại |
| TD3 | 2 × 44 | Doc 9303 Phần 4 | Hộ chiếu dạng sổ |
Trang định dạng MRZ hiển thị cả ba bố cục cạnh nhau.
90 ký tự, từng trường một
Đây là mẫu TD1 hư cấu của chính ICAO, do "Utopia" cấp (UTO, một mã chỉ tồn tại trên giấy tờ mẫu):
I<UTOD231458907<<<<<<<<<<<<<<<
7408122F1204159UTO<<<<<<<<<<<6
ERIKSSON<<ANNA<MARIA<<<<<<<<<<
Phần 5 §4.2.2 quy định từng vị trí. Vị trí được đếm từ 1, như cách ICAO đếm.
| Dòng | Vị trí | Trường | Trong mẫu |
|---|---|---|---|
| 1 | 1–2 | Mã giấy tờ; ký tự đầu tiên là A, C hoặc I |
I< |
| 1 | 3–5 | Quốc gia hoặc tổ chức cấp | UTO |
| 1 | 6–14 | Số giấy tờ | D23145890 |
| 1 | 15 | Chữ số kiểm tra của số giấy tờ | 7 |
| 1 | 16–30 | Dữ liệu tùy chọn của bên cấp | ký tự đệm |
| 2 | 1–6 | Ngày sinh, YYMMDD | 740812 |
| 2 | 7 | Chữ số kiểm tra của ngày sinh | 2 |
| 2 | 8 | Giới tính: F, M hoặc < |
F |
| 2 | 9–14 | Ngày hết hạn, YYMMDD | 120415 |
| 2 | 15 | Chữ số kiểm tra của ngày hết hạn | 9 |
| 2 | 16–18 | Quốc tịch | UTO |
| 2 | 19–29 | Dữ liệu tùy chọn của bên cấp | ký tự đệm |
| 2 | 30 | Chữ số kiểm tra tổng hợp của dòng 1 và 2 | 6 |
| 3 | 1–30 | Họ tên: định danh chính, <<, định danh phụ |
ERIKSSON<<ANNA<MARIA |
Có ba điểm ở đây khác với hộ chiếu và dễ làm hỏng các trình phân tích viết cho TD3:
- Họ tên nằm cuối, không phải đầu. Trên hộ chiếu, họ tên ở dòng 1. Trên thẻ TD1, nó chiếm trọn dòng 3, và tên dài bị cắt cho vừa 30 ký tự.
- Quốc tịch và quốc gia cấp nằm ở hai dòng khác nhau. Dòng 1 ghi bên cấp, dòng 2 ghi quốc tịch của người mang thẻ. Trên phần lớn thẻ đây là cùng một mã, nhưng trình phân tích không nên mặc định như vậy.
- Chữ số tổng hợp trải trên hai dòng. Nó bao gồm dữ liệu của cả dòng 1 và dòng 2, nên trình kiểm tra xử lý từng dòng riêng lẻ không thể tính được nó.
Mọi chữ số kiểm tra đều dùng cùng bộ trọng số 7-3-1 như hộ chiếu; công cụ kiểm tra MRZ hiển thị từng chữ số tính được bên cạnh chữ số in trên giấy tờ.
Luật EU yêu cầu gì
Các quy tắc của EU về thẻ căn cước lần đầu được đặt ra bởi Quy định (EU) 2019/1157, áp dụng từ ngày 2 tháng 8 năm 2021. Cùng những quy tắc đó, với cùng các mốc ngày, được tiếp nối bởi Quy định (EU) 2025/1208 của Hội đồng ngày 12 tháng 6 năm 2025, đăng trên Công báo ngày 20 tháng 6 năm 2025. Bảng dưới đây trích văn bản năm 2025.
| Quy tắc | Văn bản nói gì | Ở đâu |
|---|---|---|
| Định dạng | Thẻ căn cước "được sản xuất theo định dạng ID-1 và phải có vùng đọc máy (MRZ)", theo Tài liệu ICAO 9303 | Điều 3(1) |
| Dữ liệu | Các thành phần dữ liệu của thẻ tuân theo Tài liệu ICAO 9303, phần 5 | Điều 3(2) |
| Chip | Một phương tiện lưu trữ chứa ảnh khuôn mặt và hai dấu vân tay | Điều 3(5) |
| Thẻ cũ, nói chung | Thẻ không đáp ứng Điều 3 "hết hiệu lực khi hết hạn hoặc chậm nhất vào ngày 3 tháng 8 năm 2031, tùy mốc nào đến trước" | Điều 5(1) |
| Thẻ cũ không có MRZ hoạt động được | Thẻ không đạt mức bảo mật tối thiểu của phần 2 ICAO, hoặc không có "một MRZ hoạt động được", hết hiệu lực "khi hết hạn hoặc chậm nhất vào ngày 3 tháng 8 năm 2026, tùy mốc nào đến trước" | Điều 5(2)(a) |
| Người mang thẻ từ 70 tuổi | Thẻ của người từ 70 tuổi trở lên tại ngày 2 tháng 8 năm 2021, đạt mức bảo mật tối thiểu của phần 2 và có MRZ hoạt động được, vẫn có hiệu lực đến khi hết hạn | Điều 5(2)(b) |
Cách hiểu thực tế cho bất kỳ ai xây dựng luồng xử lý thẻ căn cước: từ ngày 3 tháng 8 năm 2026, thẻ căn cước do một quốc gia thành viên cấp cho công dân của mình, và vẫn còn hiệu lực theo quy tắc này, đều có vùng đọc máy TD1. Trước mốc đó, những thẻ cũ không có vùng hoạt động được vẫn có thể còn hiệu lực, vì vậy một bước kiểm tra bắt buộc phải có MRZ có thể đã từ chối một thẻ hợp pháp. Đây là bản tóm tắt văn bản, không phải tư vấn pháp lý.
Quy tắc áp dụng cho những quốc gia nào
Văn bản năm 2025 tự xác định phạm vi của mình. Đây là các dòng mà chính văn bản xác nhận:
| Nhóm | Tình trạng theo Quy định (EU) 2025/1208 của Hội đồng | Vị trí trong văn bản |
|---|---|---|
| Quốc gia thành viên có cấp thẻ căn cước | Bị ràng buộc: thẻ tuân theo Điều 3, thẻ cũ được loại bỏ dần theo Điều 5 | Điều 3 và 5 |
| Quốc gia thành viên không có thẻ căn cước quốc gia | Không buộc phải đưa vào: văn bản "không yêu cầu các quốc gia thành viên đưa vào thẻ căn cước … khi luật quốc gia không quy định" | Đoạn mở đầu (9) |
| Đan Mạch | "Không tham gia thông qua" và "không bị ràng buộc bởi văn bản này cũng như không chịu sự áp dụng của nó" | Đoạn mở đầu (47) |
| Ireland | Đã thông báo "bằng thư ngày 18 tháng 10 năm 2024, mong muốn tham gia" | Đoạn mở đầu (48) |
| Thẻ hộ chiếu của Ireland | Nằm ngoài phạm vi: giấy tờ đi lại theo phần 5 "không dùng cho mục đích nhận dạng tại quốc gia thành viên cấp, chẳng hạn thẻ hộ chiếu do Ireland cấp" | Đoạn mở đầu (12) |
Từ đó rút ra hai hệ quả. Một thẻ TD1 có MRZ không chứng minh giấy tờ đó là thẻ căn cước quốc gia: thẻ hộ chiếu của Ireland cũng là giấy tờ theo Phần 5, và luật xử lý nó riêng. Và việc một quốc gia không có thẻ quốc gia không phải là lỗ hổng của luật, vì luật chưa bao giờ đòi hỏi điều đó.
Đối với thẻ của một quốc gia cụ thể, tài liệu tham chiếu chính là bản mẫu của thẻ đó. Ban Thư ký chung của Hội đồng công bố hình ảnh giấy tờ thật trong cái mà Quy định (EU) 2020/493 gọi là "Sổ đăng ký công khai trực tuyến về giấy tờ đi lại và căn cước xác thực, gọi là PRADO", tại consilium.europa.eu/prado. Mỗi mục hiển thị cả hai mặt của thẻ, nhờ đó bạn thấy bên cấp đặt vùng đọc máy ở đâu và các trường dữ liệu tùy chọn của họ chứa gì.
Điều này có ý nghĩa gì với luồng tải lên thẻ căn cước
- Hãy yêu cầu mặt sau. Theo định nghĩa, vùng đọc máy nằm ở đó, nên một luồng chỉ yêu cầu mặt trước sẽ không có MRZ nào để kiểm tra.
- Dự kiến ba dòng và phân tích theo hình dạng. Ba dòng 30 ký tự là TD1; hai dòng 36 là TD2; hai dòng 44 là TD3. Hãy nhận diện định dạng trước khi đọc các trường.
- Đừng gán cứng mã giấy tờ. Phần 5 cho phép
A,ChoặcIlàm ký tự đầu, nên một bước kiểm tra chỉ chấp nhậnIsẽ từ chối các thẻ hợp lệ. - Coi các trường dữ liệu tùy chọn là do bên cấp định nghĩa. Phần 5 để quốc gia cấp tự quyết nội dung của chúng, nên hãy phân tích theo từng bên cấp, không coi là một trường cố định duy nhất.
- MRZ hợp lệ chứng minh tính nhất quán, không phải tính xác thực. Chữ số kiểm tra chứng minh vùng đọc máy được đọc đúng, không chứng minh thẻ là thật.
doc.cheap xử lý thẻ TD1 như thế nào
API nhận một ảnh mỗi lần gọi, nên hai mặt của một thẻ là hai lần gọi dùng chung một reference. Hướng dẫn Nhận dạng thẻ căn cước mô tả luồng này: mặt sau thường trả về mrz.status: passed, còn mặt trước không có vùng đọc máy trả về mrz.status: absent thay vì báo lỗi. Khi đọc được một vùng, mrz.lines chứa các dòng đúng như in trên giấy tờ (ba dòng với thẻ TD1, hai dòng với hộ chiếu TD3), để bạn tự tính lại các chữ số kiểm tra; máy chủ kiểm tra các chữ số TD1 theo vị trí trong Phần 5 §4.2.4. Trường document.country chứa mã ba chữ cái của bên cấp.
Với hộ chiếu của cùng các quốc gia, trang OCR hộ chiếu theo quốc gia bao quát phía TD3. Nếu bạn đang so sánh các API được lưu trữ sẵn, bảng so sánh API OCR hộ chiếu liệt kê giá công bố và cho biết mỗi dịch vụ có tính phí lần quét thất bại hay không. doc.cheap bao gồm 100 lượt nhận dạng miễn phí mỗi tháng.
Mọi nhận định pháp lý ở trên đều được trích từ các văn bản EUR-Lex có liên kết và ICAO Doc 9303 Phần 5; mọi nhận định về doc.cheap đều đã được đối chiếu với mã nguồn của nó.
Một câu hỏi cho bạn: luồng thẻ căn cước của bạn có yêu cầu mặt sau của thẻ không, và bạn xử lý trường hợp chỉ tải lên mặt trước như thế nào? Hãy cho chúng tôi biết trong phần bình luận bên dưới.