Tạo mã vạch Code 39 cho thẻ nhân viên, kho, thư viện, tải PNG

Xử lý trong trình duyệt, không lưu dữ liệu

Đ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

    1. 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.
    2. 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ã.
    3. 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ĩaMặc định
    Số kiểm tra mod 43Thê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 đượcTắt
    Hiện số kiểm tra trong chữIn ký tự kiểm tra vào dòng chữ đọc đượcTắt
    Hiện chữ dưới mãDòng chữ đọc được dưới vạchBật
    Chiều cao vạch5–60 mm; thẻ nhân viên 10–12 mm, tem kho 15–20 mm15 mm
    Độ dày vạch X0,19–0,75 mm; máy in nhiệt 203 dpi nên chọn 0,25 hoặc 0,375 mm0,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àiBiến đổi; khuyến nghị ≤ 20 ký tự vì mã rất rộng
    Số kiểm traTù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ẹp2:1 đến 3:1; công cụ dùng 2:1 để mã ngắn nhất
    X-dimension tối thiểu0,19 mm; thực tế ≥ 0,25 mm
    Quiet zone≥ 10 X mỗi bên
    Đăng ký GS1Khô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ã Code 39 NV-0012 dùng cho thẻ nhân viên, có ký tự start stop ẩn
    9 ký tự kể cả *, rộng 116 module

    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)

    Mã Code 39 mod 43 cho chuỗi CODE39 với ký tự kiểm tra W
    Tổng giá trị ký tự 75, 75 mod 43 = 32 → 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

    Mã Code 39 mã hóa chuỗi TS 2026 có dấu cách
    Dấu cách là ký tự hợp lệ của Code 39

    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

    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

    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.