Cách tính mã vạch UPC
Trước khi có sự ra đời của EAN-13 thì quy tắc tính số kiểm tra của UPC-A như sau:
Lấy tổng của các số ở vị trí lẻ (1, 3, 5, 7, 9, 11). Các số này nhân với 3 được một số A.
Lấy tổng của các số ở vị trí chẵn (2, 4, 6, 8,10) được một số B.
Lấy tổng (A + B) và xét tính chia hết cho 10. Nếu chia hết thì số kiểm tra bằng 0. Nếu không chia hết (số dư khác 0) thì lấy phần bù (10- số dư) làm số kiểm tra.
Cách tính mã vạch EAN-13
Số kiểm tra là số thứ 13 của EAN-13. Nó không phải là một số tùy ý mà phụ thuộc vào 12 số đứng trước đó và được tính theo quy tắc sau:
Lấy tổng tất cả các số ở vị trí lẻ (1,3,5,7,9,11) được một số A.
Lấy tổng tất cả các số ở vị trí chẵn (2,4,6,8,10,12). Tổng này nhân với 3 được một số (B).
Lấy tổng của A và B được số A+B.
Lấy phần dư trong phép chia của A+B cho 10, gọi là số x. Nếu số dư này bằng 0 thì số kiểm tra bằng 0, nếu nó khác 0 thì số kiểm tra là phần bù (10-x) của số dư đó.
Số kiểm tra được thêm vào cuối chuỗi số có 12 chữ số ban đầu tạo ra chuỗi số EAN-13 có 13 chữ số. Tuy nhiên, trong thực tế sản xuất mã vạch, số này đã được thêm vào cuối chuỗi, nhưng các phần mềm in ấn mã vạch nên có phần kiểm tra lại số này trước khi in, nhằm tránh các sai lầm do sai sót dữ liệu.
Quy ước: Các bit có giá trị 1 được in bằng mực đen thành một đường thẳng đứng, các bit có giá trị 0 không được in (hoặc được in bằng mực trắng) thành một đường thẳng đứng có cùng độ rộng với bit có giá trị 1.