Code 128 hay EAN-13: tem kho, vận đơn, hàng bán lẻ dùng mã nào?
"Nên chọn loại mã nào" là câu hỏi đầu tiên khi mở bất kỳ công cụ tạo mã vạch nào, vì danh sách có tới 8–10 loại. Thực tế chỉ có hai loại bạn cần phân biệt: EAN-13 cho sản phẩm bán lẻ và Code 128 cho mọi thứ còn lại. Phần lớn sai lầm đến từ việc chọn EAN-13 cho mã nội bộ.
Khác nhau ở đâu
| Code 128 | EAN-13 | |
|---|---|---|
| Ký tự | Chữ, số, ký hiệu (toàn bộ bảng ASCII) | Chỉ chữ số |
| Độ dài | Tuỳ ý | Đúng 13 số (12 số + 1 số kiểm tra) |
| Cần đăng ký | Không | Có, với GS1 (để không trùng doanh nghiệp khác) |
| Ý nghĩa các số | Do bạn tự đặt | Tiền tố quốc gia + mã doanh nghiệp + mã sản phẩm + số kiểm tra |
| Dùng cho | Tem kho, SKU nội bộ, mã đơn, vận đơn, tài sản, hồ sơ | Sản phẩm bán ở siêu thị, chuỗi bán lẻ, một số ngành hàng trên sàn TMĐT |
| Bề rộng khi in | Tuỳ nội dung: 10 chữ số khoảng 27 mm, 14 chữ số khoảng 33 mm | Cố định 37,3 mm ở cỡ chuẩn (có thể thu nhỏ tới 80%) |
Thử cả hai loại với mã của bạn
Code 128 và EAN-13 cạnh nhau

Số kiểm tra của EAN-13 là gì
Số thứ 13 không do bạn chọn mà được tính từ 12 số đầu, để máy quét phát hiện tem bị in sai hoặc đọc sai. Cách tính: cộng các số ở vị trí lẻ, cộng các số ở vị trí chẵn rồi nhân 3, lấy tổng hai phần. Số kiểm tra là số cần cộng thêm để tổng tròn chục.
Ví dụ với 893604123456: vị trí lẻ 8+3+0+1+3+5 = 20; vị trí chẵn (9+6+4+2+4+6) × 3 = 93; tổng 113; cần thêm 7 để thành 120, vậy mã đầy đủ là 8936041234567.
Đây cũng là lý do 40% mã EAN-13 nhập vào Dorabot bị lỗi: người dùng gõ mã nội bộ 8–10 số, hoặc gõ đủ 13 số nhưng số cuối sai. Mã như vậy in ra được nhưng máy quét từ chối. Nếu mã của bạn không phải mã GS1, chuyển sang Code 128 là xong.
Khi nào bắt buộc phải là EAN-13
- Đưa hàng vào siêu thị, chuỗi bán lẻ: phần mềm thu ngân tra giá theo mã GTIN, nên mỗi sản phẩm (mỗi quy cách, mỗi màu, mỗi cỡ) cần một mã EAN-13 riêng do doanh nghiệp đã đăng ký cấp.
- Một số ngành hàng trên sàn thương mại điện tử yêu cầu GTIN khi tạo sản phẩm. Hàng tự sản xuất không có GTIN thì sàn thường cho chọn "không có mã".
- Xuất khẩu: đối tác nước ngoài gần như luôn yêu cầu mã GS1.
Ba trường hợp này đều cần đăng ký với GS1 Việt Nam để có dải mã riêng. Công cụ chỉ vẽ mã từ dãy số bạn có, không cấp mã.
Khi nào Code 128 là đủ (và tốt hơn)
- Tem kho, tem kệ, SKU nội bộ: mã có thể chứa chữ như
AO-THUN-XL-DEN, EAN-13 không làm được. - Mã đơn hàng, mã vận đơn: phần lớn mã trên Dorabot dài 14 ký tự, đúng cỡ mã vận đơn của các hãng giao hàng. Code 128 nén 2 chữ số vào một ký hiệu nên mã toàn số rất gọn.
- Tài sản, hồ sơ, thẻ nhân viên: không có lý do gì phải tốn tiền đăng ký mã GS1.
Code 39 (gồm cả Code 39 mở rộng) vẫn chiếm gần 6% vì một số máy quét và phần mềm kho cũ chỉ cài sẵn loại này. Nếu hệ thống của bạn không đòi Code 39, Code 128 cùng nội dung ngắn hơn đáng kể.
Còn EAN-8, Code 93, UPC?
EAN-8 là bản rút gọn cho bao bì rất nhỏ, cũng phải đăng ký GS1. Code 93 gọn hơn Code 39 nhưng ít máy hỗ trợ hơn Code 128. UPC-A là mã bán lẻ của Mỹ, Canada (12 số); hàng bán ở Việt Nam dùng EAN-13. Trên Dorabot, gộp cả EAN-8 và Code 93 chưa tới 0,1% số mã.
Tạo mã vạch Code 128 hoặc EAN-13 → Xem trang EAN-13 →
Hỏi thêm
Mã vạch bắt đầu bằng 893 là của nước nào?
893 là tiền tố GS1 cấp cho Việt Nam. Nó cho biết doanh nghiệp đăng ký mã ở GS1 Việt Nam, không chứng minh hàng sản xuất tại Việt Nam.
Tự đặt mã EAN-13 bắt đầu bằng 893 có được không?
Về kỹ thuật thì in được, nhưng không nên đưa ra thị trường: mã có thể trùng với sản phẩm đã đăng ký của doanh nghiệp khác, và siêu thị, sàn thương mại điện tử thường đối chiếu với dữ liệu GS1. Dùng nội bộ thì nên chọn Code 128.
Code 128 có đọc được bằng máy quét ở siêu thị không?
Máy quét đọc được Code 128, nhưng phần mềm thu ngân của siêu thị tra giá theo mã GTIN (EAN-13/UPC). Hàng đưa vào chuỗi bán lẻ cần EAN-13 đã đăng ký.