Đang tải công cụ Tạo mã vạch Code 39…
Mục lục
Công cụ tạo mã vạch Code 39 ở trên mã hóa chữ in hoa A–Z, số 0–9, dấu cách và bảy ký hiệu – . $ / + % thành mã chuẩn ISO/IEC 16388, tùy chọn thêm số kiểm tra mod 43, rồi tải PNG hoặc SVG. Chữ thường được tự đổi thành in hoa và có thông báo.
Code 39 là mã 1D lâu đời nhất còn dùng rộng rãi: thẻ nhân viên, thẻ thư viện, tem tài sản, phiếu kho, mã trên tài liệu quân sự và y tế. Máy quét cũ nào cũng đọc được và nhiều phần mềm hỗ trợ sẵn qua font chữ.
Cách tạo
- Nhập nội dung vào ô “Nội dung mã”, ví dụ NV-0012. Chỉ dùng chữ không dấu, số và – . $ / + %; công cụ báo ngay nếu có ký tự khác và tự viết hoa chữ thường.
- Bật số kiểm tra mod 43 trong Tùy chọn nếu hệ thống của bạn yêu cầu (Code 39 mod 43, hay dùng trong y tế và quân sự). Bạn có thể chọn hiện hoặc ẩn ký tự kiểm tra trong dòng chữ dưới mã.
- Chỉnh kích thước (chiều cao 5–60 mm, X 0,19–0,75 mm) rồi tải PNG hoặc SVG. Mã tải về không in dấu * ở hai đầu trong dòng chữ, đúng thông lệ.
| Tùy chọn | Ý nghĩa | Mặc định |
|---|---|---|
| Số kiểm tra mod 43 | Thêm 1 ký tự kiểm tra tính từ tổng vị trí ký tự; máy quét phải bật chế độ Code 39 mod 43 mới kiểm được | Tắt |
| Hiện số kiểm tra trong chữ | In ký tự kiểm tra vào dòng chữ đọc được | Tắt |
| Hiện chữ dưới mã | Dòng chữ đọc được dưới vạch | Bật |
| Chiều cao vạch | 5–60 mm; thẻ nhân viên 10–12 mm, tem kho 15–20 mm | 15 mm |
| Độ dày vạch X | 0,19–0,75 mm; máy in nhiệt 203 dpi nên chọn 0,25 hoặc 0,375 mm | 0,33 mm |
Mỗi ký tự Code 39 gồm 9 phần tử (5 vạch, 4 khoảng trống), trong đó 3 phần tử rộng, nên tên gọi “3 of 9”. Mã dài hơn Code 128 khoảng 40–50 % với cùng nội dung; nếu tem hẹp, cân nhắc Code 128.
Chuẩn & giới hạn của mã này
Code 39 mã hóa 43 ký tự cơ bản theo ISO/IEC 16388, mỗi ký tự 9 phần tử với tỷ lệ rộng/hẹp 2:1 đến 3:1, có ký tự start/stop là dấu *.
| Tiêu chí | Code 39 |
|---|---|
| Tập ký tự | 43 ký tự: A–Z, 0–9, dấu cách, – . $ / + % (bản mở rộng Full ASCII dùng cặp ký tự, ít máy quét bật sẵn) |
| Độ dài | Biến đổi; khuyến nghị ≤ 20 ký tự vì mã rất rộng |
| Số kiểm tra | Tùy chọn mod 43 (tổng giá trị ký tự chia lấy dư 43) |
| Cấu trúc | * + dữ liệu + (số kiểm tra) + *; khoảng cách giữa các ký tự bằng 1 phần tử hẹp |
| Tỷ lệ rộng/hẹp | 2:1 đến 3:1; công cụ dùng 2:1 để mã ngắn nhất |
| X-dimension tối thiểu | 0,19 mm; thực tế ≥ 0,25 mm |
| Quiet zone | ≥ 10 X mỗi bên |
| Đăng ký GS1 | Không cần; không dùng trong hệ thống GS1 |
Chiều rộng mã tính bằng (số ký tự kể cả start/stop) × 13 X trừ 1 X. Chuỗi NV-0012 có 7 ký tự dữ liệu, cộng 2 ký tự */ * thành 9 ký tự, rộng 116 X ≈ 38,3 mm ở X = 0,33 mm. Cùng chuỗi đó Code 128 chỉ rộng khoảng 26 mm.
Code 39 không có số kiểm tra bắt buộc, nên trong môi trường in mờ có thể đọc sai một ký tự mà máy quét không phát hiện. Với dữ liệu quan trọng (mã bệnh nhân, tài sản giá trị), hãy bật mod 43 và cấu hình máy quét kiểm tra.
Ví dụ
Ba ví dụ xuất từ bwip-js, tỷ lệ rộng/hẹp 2:1.
Thẻ nhân viên NV-0012
Mã thẻ nhân viên điển hình: tiền tố NV, dấu gạch ngang và số thứ tự. Máy quét trả về đúng NV-0012, không kèm dấu *.
CODE39 kèm số kiểm tra mod 43 (ký tự W)
Giá trị các ký tự C(12) O(24) D(13) E(14) 3(3) 9(9) cộng lại bằng 75; 75 chia 43 dư 32, ký tự thứ 32 trong bảng là W. Máy quét bật chế độ mod 43 sẽ bỏ W khỏi kết quả.
Chuỗi có dấu cách TS 2026
Dấu cách nằm trong 43 ký tự cơ bản, nhưng nhiều phần mềm cắt khoảng trắng đầu cuối khi nhập liệu; nên dùng gạch ngang thay dấu cách nếu mã đi qua nhiều hệ thống.
Trường hợp đặc biệt / lỗi hay gặp
Lỗi hay gặp của Code 39 liên quan đến ký tự ngoài bảng, mã quá rộng và cấu hình máy quét.
- Chữ thường hoặc có dấu: công cụ tự viết hoa chữ thường; chữ có dấu và ký hiệu như @ # & bị từ chối. Cần đủ ASCII thì dùng Code 128.
- Mã rộng không vừa tem: giảm X xuống 0,25 mm, rút ngắn chuỗi hoặc chuyển sang Code 128 (ngắn hơn 40 %).
- Máy quét trả về thêm ký tự cuối: bạn bật mod 43 nhưng máy quét chưa bật kiểm tra, nên nó coi ký tự kiểm tra là dữ liệu. Tắt tùy chọn hoặc cấu hình máy quét.
- Font Code 39 trong Excel/Word thiếu dấu *: khi gõ bằng font, phải tự thêm * ở hai đầu; công cụ này đã thêm sẵn nên không cần.
- In quá nhỏ: tỷ lệ 2:1 với X 0,19 mm là giới hạn; máy in nhiệt nên dùng X ≥ 0,25 mm.
- Cần mã ngắn cho thẻ: xem tạo mã vạch thẻ, vé để in hàng loạt thẻ nhân viên đúng khổ 85,6 × 54 mm.
Công cụ liên quan
- Tạo mã vạch thẻ, vé — in hàng loạt thẻ nhân viên Code 39 ra PDF đúng khổ
- Tạo mã vạch Code 128 — khi cần chữ thường, ký hiệu hoặc mã ngắn hơn
- So sánh Code 39 và Code 128 — bảng 10 tiêu chí để chọn đúng loại
- Tạo tem tài sản — tem 50 × 30 mm cho thiết bị, máy tính
- Quét mã vạch online — kiểm tra máy có bỏ ký tự mod 43 không
Thuật ngữ liên quan
Câu hỏi thường gặp
Code 39 có mã hóa được chữ thường và tiếng Việt không?
Không. Bảng cơ bản chỉ có chữ in hoa, số và bảy ký hiệu. Bản mở rộng Full ASCII mã hóa chữ thường bằng cặp ký tự nhưng ít máy quét bật sẵn, nên công cụ tự viết hoa để an toàn. Chữ có dấu tiếng Việt không mã hóa được ở bất kỳ mã 1D nào; hãy dùng QR hoặc DataMatrix.
Khi nào nên bật số kiểm tra mod 43?
Khi hệ thống đối tác yêu cầu, thường gặp trong y tế (HIBC), quân sự (LOGMARS) và một số phần mềm quản lý tài sản. Với thẻ nhân viên hay phiếu kho nội bộ, số kiểm tra không bắt buộc. Nếu bật, nhớ cấu hình máy quét kiểm tra mod 43, nếu không máy sẽ trả thêm ký tự kiểm tra vào dữ liệu.
Code 39 và Code 128, loại nào tốt hơn cho thẻ nhân viên?
Code 128 cho mã ngắn hơn khoảng 40 % và có số kiểm tra bắt buộc, phù hợp thẻ nhỏ và máy quét mới. Code 39 thắng ở tính tương thích: máy quét cũ, phần mềm chấm công đời trước và font chữ trong Excel đều hỗ trợ. Nếu máy quét của bạn đọc được Code 128, hãy chọn Code 128.
Vì sao mã Code 39 rộng hơn các mã khác?
Mỗi ký tự chiếm 13 module kể cả khoảng cách, không nén dữ liệu và không có subset số như Code 128. Chuỗi 10 số ở Code 39 rộng 155 module, còn Code 128 subset C chỉ 90 module. Vì vậy chuẩn khuyến nghị giữ chuỗi dưới 20 ký tự và giảm X khi tem hẹp.
Tạo mã Code 39 bằng font trong Excel có giống công cụ này không?
Font Code 39 chỉ vẽ hình vạch cho từng ký tự bạn gõ; bạn phải tự thêm dấu * ở hai đầu, tự tính mod 43 nếu cần và không kiểm soát được X-dimension khi in. Công cụ này mã hóa theo chuẩn, tính sẵn số kiểm tra, cho biết kích thước mm và xuất SVG vector, nên kết quả nhất quán hơn.
Mã Code 39 tạo ở đây in được bằng máy in nhiệt không?
Được. Chọn X là bội của kích thước dot máy in: 203 dpi dùng 0,25 hoặc 0,375 mm, 300 dpi dùng 0,254 hoặc 0,339 mm, rồi tải PNG 300 dpi hoặc SVG và in ở tỷ lệ 100 %. Giữ vùng trắng hai bên ít nhất 10 lần X và chiều cao vạch từ 10 mm cho tem kho.
Căn cứ / Nguồn
- ISO/IEC 16388:2007 — Code 39 bar code symbology specification — bảng 43 ký tự, tỷ lệ rộng/hẹp, số kiểm tra mod 43
- TCVN 7625:2007 (ISO/IEC 16388:2007) — Yêu cầu kỹ thuật mã vạch Code 39
- AIM Inc. — Uniform Symbology Specification Code 39 — tài liệu gốc của ngành
- bwip-js — Barcode Writer in Pure JavaScript (MIT)
Cập nhật: 12/09/2026. Công cụ xử lý hoàn toàn trong trình duyệt, không lưu dữ liệu.