Logistics & 1D Standard

Free Code 39 Asset & Industrial Barcode Generator

Generate industrial-standard Code 39 (Code 3 of 9 / USD-3) linear barcodes for IT asset tracking, manufacturing parts marking, defense logistics, and warehouse equipment numbering with instant vector SVG and Avery label sheet printing.

Generate Code 39 Asset Now (Instant & Free)

Technical Specifications

Standard
ISO/IEC 16388 & ANSI/AIM BC1 (USD-3 / LOGMARS)
Character Set
43 characters: 0–9, uppercase A–Z, and symbols (- . $ / + % space)
Checksum Algorithm
Self-checking symbology; optional weighted Modulo-43 checksum
Symbology Structure
Discrete variable-length symbology with automatic start/stop asterisks (*)
Quiet Zones
Minimum 10X module width (at least 6.4 mm / 0.25 in) on left and right margins
Privacy
100% client-side generation; asset IDs, serial numbers, and equipment tags are never uploaded

Standard Industry Use Cases

  • Enterprise IT hardware asset tags (laptops, servers, monitors, networking gear)
  • US Department of Defense (DoD) military supply shipments under MIL-STD-129 / MIL-STD-130
  • Automotive manufacturing sub-assemblies and replacement parts (AIAG B-1 standard)
  • Hospital clinical laboratory specimen tube labeling and healthcare asset tracking
  • Warehouse storage bin locations, maintenance tooling badges, and factory route sheets
Recommended Hardware & Supplies
UniversalCodeMaker is an Amazon Associate. As an Amazon Associate, we earn from qualifying purchases.

Key Benefits of Code 39 Asset

Full Alphanumeric Character Support

Encodes capital letters A–Z, numbers 0–9, and key operational symbols (- . $ / + % space) for intuitive asset naming.

Known as LOGMARS in US Defense Logistics

LOGMARS is the US Department of Defense's use of Code 39 and adds its own size and density rules; check them against your contract before printing.

Self-Checking Robust Architecture

Inherent parity check pattern minimizes misread risks, with optional Modulo-43 check digit support for mission-critical tracking.

What Code Do I Need for My Product? (Customer Decision Guide)

Choosing the right barcode format depends on where your product is sold, the packaging substrate, and scanner infrastructure:

When should I choose Code 39 over Code 128?

Choose Code 39 when encoding shorter alphanumeric IDs (like ASSET-104) where legacy scanners or government contracts (MIL-STD-129) require it. Choose Code 128 if you have longer strings or space constraints on small labels.

Should I enable the Modulo-43 check digit?

Enable Mod-43 if you are tracking high-value assets, medical specimens, or defense shipments. For casual office inventory, standard Code 39 without check digit is scannable on all hardware.

Legal & Compliance Guide

Code 39 Technical Standards & Quiet Zone Rules

Official Specifications & Authoritative References

PUBLIC CITATIONS

Frequently Asked Questions

What characters can be encoded in a standard Code 39 barcode? ▼

Standard Code 39 natively encodes 43 individual characters: 10 numeric digits (0–9), 26 uppercase English letters (A–Z), and seven punctuation and mathematical symbols: hyphen (-), period (.), space ( ), dollar sign ($), slash (/), plus (+), and percent (%). Lowercase letters entered into standard mode are automatically capitalized. For full ASCII support including lowercase letters and control characters, Full ASCII Extended Code 39 combines these standard symbols in pairs.

What is the difference between Code 39 and Code 128? ▼

Code 39 is a discrete symbology where each character is separated by an inter-character gap, making it simpler, highly resilient, and decodable by virtually all legacy barcode readers without specialized software. However, Code 39 requires significantly more physical horizontal space per character. Code 128 is a continuous, high-density symbology that encodes the entire 128 ASCII table in approximately half the horizontal width and features dynamic numeric compaction (Subset C). For compact spaces, choose Code 128; for legacy defense, automotive, or simple asset tracking, choose Code 39.

Why do Code 39 barcodes have asterisks (*) at the beginning and end? ▼

The asterisk (*) character is the designated start and stop delimiter in the Code 39 specification. It tells optical barcode scanners which direction the beam is reading across the bars (left-to-right or right-to-left) so the decoder can orient the payload accurately. In modern scanners, the asterisks are stripped automatically and are not transmitted to your inventory database or spreadsheet.

How is the optional Modulo-43 check digit calculated for Code 39? ▼

Code 39 has built-in self-checking properties due to its fixed pattern ratio (each character contains 9 elements: 3 wide and 6 narrow). However, high-reliability applications (such as DoD LOGMARS or healthcare asset tracking) add a Modulo-43 check character: each character in the payload is assigned a numerical value from 0 to 42, all values are summed, the sum is divided by 43, and the remainder maps back to the corresponding check character appended to the end of the data.

Can I print Code 39 asset barcodes on Avery adhesive label sheets? ▼

Yes. UniversalCodeMaker includes a built-in Avery label maker. You can generate complete PDF print sheets for standard Avery 5160 (30 labels per sheet, 1" × 2-5/8") or Avery 5163 (10 labels per sheet, 2" × 4"). Each barcode is rendered with calibrated quiet zones and razor-sharp vectors to guarantee crisp scanning on both thermal transfer and office laser printers.

Are my enterprise asset tags, serial numbers, or internal inventory lists stored on UniversalCodeMaker servers? ▼

No. All barcode rendering, vector generation, and checksum arithmetic take place 100% client-side in your local web browser. Your private asset serial numbers, equipment tags, employee IDs, and company inventory codes never leave your device and are never uploaded to, transmitted across, or stored on any external server.

Related Barcode & QR Tools