Fact-checked by Grok 2 weeks ago

Code 39

Code 39 is a , variable-length symbology that encodes alphanumeric data using a pattern of bars and spaces, standardized under ISO/IEC 16388 for applications. It supports a character set of 43 symbols, including the uppercase letters A–Z, digits 0–9, and five special characters (-, ., $, /, +), with an asterisk (*) serving as both start and stop delimiter for self-checking purposes. Developed in the mid-1970s as the first alphanumeric , Code 39 was designed for flexibility in encoding mixed data without fixed length restrictions, making it suitable for labeling and tracking in industrial environments. Originally created by Intermec Corporation (then Interface Mechanisms, Inc.) in 1974–1975 to address the limitations of numeric-only barcodes, Code 39 gained formal recognition as an ANSI standard (MH10.8M-1983) in the early 1980s, enhancing its adoption across sectors. The symbology's structure consists of nine elements per character—five bars and four spaces—with three wide elements and six narrow ones, allowing bidirectional scanning and inherent error detection without mandatory check digits, though an optional modulo-43 checksum can be included for added verification. An extension known as Full ASCII Code 39 expands the set to 128 characters by pairing symbols to represent lowercase letters and additional punctuation, enabling broader data representation while maintaining compatibility. Code 39 remains prevalent in non-retail industries, including , , healthcare, and , for applications like , , and serial numbering, due to its , on poor-quality prints, and support by most barcode scanners. Unlike GS1-managed symbologies such as UPC or EAN, which dominate retail point-of-sale, Code 39's independence from proprietary systems has ensured its longevity, though it is gradually supplemented by more efficient codes like in high-density scenarios. Its dimensions and tolerances are precisely defined in the ISO standard to guarantee reliable decoding, with typical ratios of 2:1 or 3:1 for wide-to-narrow elements, balancing density and print tolerance.

Introduction

Overview

Code 39 is a variable-length, , alphanumeric barcode symbology standardized as ISO/IEC 16388:2023, which specifies its characteristics for encoding in general industrial applications. This symbology supports the encoding of uppercase letters (A–Z), digits (0–9), and seven special symbols: space, hyphen (-), period (.), plus (+), dollar ($), slash (/), and percent (%). It employs the (*) as both start and stop characters to the , ensuring proper decoding boundaries. A key feature of Code 39 is its optional check digit, which can be included for error detection using a modulo-43 algorithm based on character values. In basic operation, a barcode scanner interprets the pattern of wide and narrow bars and spaces—nine elements per character—to reconstruct the original alphanumeric data. As a linear one-dimensional (1D) barcode, Code 39 produces symbols of variable width proportional to the encoded message length, allowing flexibility in data capacity. Code 39 finds primary use in non-retail environments, including tracking, asset , , , , and healthcare applications where alphanumeric labeling is needed without point-of-sale constraints.

History

Code 39, the first alphanumeric symbology, was invented in 1974 by Dr. David Allais and at Corporation (now part of ). This development addressed the limitations of earlier numeric-only barcodes, such as Code 2 of 7, by enabling the encoding of both letters and numbers, which was essential for more versatile tracking in industrial and military environments. During the , Code 39 gained widespread adoption outside retail sectors, particularly in manufacturing, logistics, and defense. In 1981, the U.S. Department of Defense mandated its use for marking products under the Logistics Applications of Automated Marking and Reading Symbols (LOGMARS) program, standardizing it for military tracking. This period also saw the introduction of the Full ASCII variant in the early , which expanded the character set to include lowercase letters, punctuation, and control characters by pairing standard symbols. Standardization efforts formalized Code 39's specifications, beginning with the (ANSI) MH10.8M-1983, which defined its structure for industrial applications. Later, it was incorporated into international norms as ISO/IEC 16388, with the second edition published in 2007 specifying symbology characteristics, encoding, and decoding parameters. The standard was revised in its third edition in 2023 with minor technical corrections while maintaining .

Symbology Fundamentals

Character Set

Standard Code 39, as defined in ISO/IEC 16388, supports a character set of 43 symbols comprising the decimal digits 0 through 9, the uppercase letters A through Z, and seven special characters: hyphen (-), period (.), space, dollar sign ($), forward slash (/), plus sign (+), and percent sign (%). This base set excludes lowercase letters and the majority of punctuation marks, limiting the symbology to these alphanumeric and select symbolic representations for simplicity and reliability in industrial applications. Each character in the set is encoded using a unique pattern consisting of nine elements: five bars and four intervening spaces, among which three elements are wide and six are narrow. These patterns ensure distinctiveness during scanning, with the narrow elements typically measuring one unit (X) in width and wide elements measuring two or three units, though the exact ratio is specified further in symbology structure guidelines. An intercharacter gap of one narrow unit separates adjacent characters within the symbol to facilitate accurate decoding by barcode readers. Additionally, every Code 39 symbol begins and ends with the asterisk (*) character, which serves as the mandatory start/stop pattern but is not included in the encoded data content.

Encoding

Code 39 encoding begins with an input string consisting solely of the 43 valid characters: uppercase letters A-Z, digits 0-9, and the special characters space, minus (-), period (.), dollar ($), slash (/), plus (+), and percent (%). Any invalid characters must be preprocessed or removed to ensure compliance, as the symbology does not support other symbols in its standard form. The process requires prefixing and suffixing the input string with the asterisk (*) character, which serves as both the start and stop delimiter. Each character in the augmented string (including the delimiters) is independently converted to a unique 9-module pattern comprising five bars and four spaces, where three elements are wide and six are narrow. A is defined as the smallest unit of measure, corresponding to the width of a narrow bar or space. Wide elements are typically 2 to 3 times the width of narrow elements, providing the necessary contrast for reliable scanning without specifying exact ratios in the core symbology. The full barcode sequence is constructed by concatenating these 9-module patterns in order, with a narrow intercharacter gap (equivalent to one module width) inserted between each pair of adjacent character patterns to separate them clearly. Quiet zones, which are clear areas before the start character and after the stop character, follow general barcode printing standards (typically at least 10 modules wide) but are not uniquely specified for Code 39. For example, to encode the "ABC123", first form "ABC123". Each character's (detailed in the Character Set section) is as follows, represented textually with "w" for wide and "n" for narrow elements in the sequence bar-space-bar-space-bar-space-bar-space-bar:
  • *: n w n n w n w n n
  • A: w n n n n w n n w
  • B: n n w n n w n n w
  • C: w n w n n w n n n
  • 1: w n n w n n n n w
  • 2: n n w w n n n n w
  • 3: w n w w n n n n n
  • *: n w n n w n w n n
The complete sequence is the of these patterns with an intercharacter of n inserted after each character except the last: nwnnw nwnn (gap n) wnnn nwnnw (gap n) nnwn n nwnnw (gap n) wnwn n nwnnn (gap n) wnnw n nnnw (gap n) nnww n nnnw (gap n) wnw w n nnnn (gap n) nwnn w nwnn.

Symbol Structure

Bar and Space Patterns

Code 39 symbols are constructed using a linear symbology where each character is represented by nine alternating elements: five black bars and four white spaces. Of these nine elements, exactly three are wide and six are narrow, creating the "3-of-9" designation. The nominal width of the narrow element, known as the X dimension, has a minimum of 0.0075 inches (0.191 mm) and must remain constant throughout the symbol. Wide elements are sized at a ratio (N) of 2.0:1 to 3.0:1 relative to narrow elements when X is 0.020 inches or greater, or 2.2:1 to 3.0:1 for smaller X dimensions, ensuring reliable differentiation during scanning. The start and stop patterns are formed by the special character "*", which features wide elements in specific positions (the first, fifth, and ninth elements) to enable automatic recognition of symbol boundaries. This configuration supports bidirectional reading, allowing scanners to process the in either direction without ambiguity. Overall dimensions are variable in length, with a practical limit of up to 255 characters depending on printing and scanning constraints, though shorter lengths are typical for optimal readability. The minimum bar height is 0.25 inches (6.35 mm) or 15% of the length (excluding quiet zones), whichever is greater, to accommodate various scanning technologies. As a symbology, Code 39 requires clear intercharacter gaps equal to at least one X dimension (with tolerances), preventing adjacent characters from merging and ensuring accurate decoding. Quiet zones on either end must be at least 10X or 0.10 inches (2.54 mm), whichever is larger, to isolate the from surrounding elements.

Check Digit

Code 39 incorporates an optional based on a modulo-43 to detect transcription errors during or scanning, though it is recommended for applications involving critical data to enhance reliability. This mechanism verifies the integrity of the encoded message by ensuring the total sum of character values is divisible by 43, thereby catching single-character errors and most adjacent transpositions. The calculation begins by assigning numeric values to each character in the data string, excluding the start and stop characters (denoted by *). The standard character set of Code 39 maps as follows: digits retain their face values (0 through 9); uppercase letters A-Z are assigned 10 through 35 (A=10, B=11, ..., Z=35); and the special characters are mapped to 36 through 42 (-=36, .=37, space=38, $=39, /=40, +=41, %=42). These assignments align with the positional order of the 43-character alphabet in the symbology. To compute the check digit, sum the numeric values of all data characters, then apply the modulo-43 operation: \text{Check value} = \left( \sum \text{character values} \right) \mod 43 The resulting check value (ranging from 0 to 42) is then converted back to the corresponding character using the same mapping table; for instance, a remainder of 0 corresponds to '0', 10 to 'A', and 42 to '%'. This check character is appended as the final data character immediately before the stop pattern (*). For verification, the receiving system recalculates the sum of all character values, including the , and confirms that the total 43 equals zero; any deviation indicates an error. This process provides robust detection without significantly increasing the symbol length, making it suitable for high-accuracy environments like healthcare and .

Variants

Full ASCII Code 39

Full ASCII Code 39 extends the standard Code 39 symbology to encode the complete 128-character ASCII set by representing each extended character as a pair of standard Code 39 characters. This method leverages four shift characters—$, /, %, and +—paired with the 26 uppercase letters A through Z to map to the additional symbols, resulting in a total coverage of all ASCII characters including those not in the base set of 43. The shift characters function as prefixes that modify the interpretation of the following letter, allowing encoding of lowercase letters, , and codes that are absent in standard Code 39. In this encoding scheme, the first character of the pair is one of the shift symbols, and the second is a letter from A to Z, effectively using two Code 39 symbols to represent a single ASCII byte. For example, the lowercase letter 'a' is encoded as +A, the '!' as /A, the start-of-heading (SOH) as $A, and the (NUL) as %U. These pairs enable support for expansions such as lowercase a-z, symbols like @, [, ], {, }, and ~, as well as characters from (00) to (7F), achieving full 128-character ASCII compatibility. The following table provides representative examples of encoding pairs across different ASCII categories:
ASCII CharacterHex ValueCode 39 PairCategory
!21/APunctuation
"22/BPunctuation
a61+ALowercase
b62+BLowercase
SOH01$AControl
NUL00%UControl
{7B%PSymbol
~7E%SSymbol
This pairing approach doubles the symbol length for each extended character, leading to reduced density and longer barcodes compared to standard Code 39, with maximum densities around 6.25 characters per inch at 300 dpi. For backward compatibility, symbols using only the base character set remain readable by standard Code 39 , but those incorporating shift pairs necessitate Full ASCII-aware readers to avoid misinterpretation of the shifts as literal characters. When an optional is employed, it is computed using 43 on the numeric values (0-42) assigned to each character in the pairs, treating them as separate standard Code 39 symbols.

Specialized Subsets

Specialized subsets of Code 39 are industry-specific adaptations that impose restrictions on the character set or add mandatory features to enhance reliability in particular environments, such as or healthcare labeling. These variants typically limit the use of certain characters to reduce encoding errors and often require a , differing from the standard Code 39's optional and full 43-character set (uppercase A-Z, 0-9, and special symbols -, ., $, /, +, %, space). LOGMARS (Logistics Applications of Automated Marking and Reading Symbols) is a U.S. Department of Defense standard established in the early 1980s for tracking military supplies and equipment, utilizing Code 39 as its core symbology under MIL-STD-1189B. It employs the full standard 43-character set but mandates specific printing parameters for robustness, including a nominal wide-to-narrow bar ratio of 2.0:1 to 3.0:1 (preferred 3:1) and a maximum encoded length of 30 data characters plus start/stop asterisks. While the is optional per the standard (calculated via modulo 43), many LOGMARS implementations require it to verify in high-stakes applications. LOGMARS symbols must meet minimum bar heights and densities to ensure readability in varied conditions, such as field environments. Although phased out in favor of GS1-128 for new systems after the mid-2000s, legacy LOGMARS Code 39 barcodes persist in some inventory contexts. HIBC (Health Industry Bar Code) is a licensed standard developed by the Health Industry Business Communications Council (HIBCC) for healthcare product identification and applications, approved as an ANSI standard. It adapts Code 39 for supplier labeling, using the alphanumeric set (A-Z, 0-9) plus delimiters (+, $, /, -, .) while restricting other special characters in product codes to prevent scanning errors. The "+" symbol functions as a supplier labeling flag to identify HIBC-formatted data, similar to a function code for structured parsing, and primary data symbols follow the format +[4-character Labeler Identification Code][Product/Catalog Number][Unit of Measure][Modulo 43 check character]. for details like lot numbers, expiration dates (e.g., YYYYMMDD format), and serial numbers uses similar structures, often concatenated with "/" delimiters for combined symbols in drug and patient labeling. Unlike standard Code 39, HIBC mandates the modulo 43 for all symbols to ensure accuracy in critical healthcare workflows, and it supports separate or linked primary/secondary encoding to accommodate space constraints on labels. HIBC remains actively used in the healthcare sector for compliance with labeling regulations. Other subsets of Code 39 further restrict the character set for specialized needs, such as numeric-only encoding in or applications to minimize errors in high-volume, error-prone scanning environments. For instance, Code 32 (an pharmaceutical standard) encodes an 8-digit numeric code using a base-32 scheme with Code 39 bar patterns for digits 0-9 and select uppercase letters, appending a modulo 10 , with human-readable text prefixed by 'A' followed by the digits. These adaptations prioritize reliability by eliminating alphanumeric complexity, often incorporating mandatory s and fixed ratios akin to LOGMARS, though adoption varies by region and has largely shifted to more versatile symbologies like standards in modern telecom systems.

Applications and Implementation

Common Uses

Code 39 is widely deployed in and within industrial environments, where it facilitates the monitoring of equipment locations, conditions, and maintenance histories. In manufacturing sectors, it supports part labeling and workflow tracking, particularly in automotive applications standardized by the (AIAG), which adopted Code 39 in 1984 for alphanumeric identification of components. Similarly, industries utilize Code 39 alongside other symbologies for and labeling on parts and assemblies. Logistics operations, excluding GS1 retail standards, rely on Code 39 for non-consumer shipment tracking and warehouse inventory in sectors like and . In supply chains, the legacy LOGMARS (Logistics Applications of Automated Marking and Reading Symbols) standard, based on Code 39, ensures accurate tracking of and supplies across U.S. of operations. Healthcare applications include identification of medical supplies through standards like HIBC, which employs Code 39 for labeling devices and pharmaceuticals in non-patient contexts. Key advantages of Code 39 in these uses include its integration of human-readable companion text alongside the , enabling quick manual verification without . Its variable-length design accommodates flexible without fixed constraints, and the symbology's robustness supports printing on durable labels suitable for rough surfaces, such as metal or components in environments. As of 2025, Code 39 remains prevalent in internal legacy systems for these sectors, even as barcodes gain traction for higher-capacity needs, due to its established and . It is often integrated into hybrid solutions combining s with RFID tags for enhanced tracking in and , where barcodes provide cost-effective visual redundancy. However, its low data density restricts applications to short identifiers, such as serial numbers or part codes, limiting it to concise data sets compared to denser symbologies.

Software Tools

Several open-source libraries facilitate the generation of Code 39 barcodes across various programming languages. ZXing, implemented in Java, supports multi-format 1D barcode creation including Code 39 and is widely used for its portability to Android and other platforms. Barcode4J, also in Java, provides flexible barcode generation under the Apache License 2.0 and includes Code 39 among its supported symbologies for integration into applications. For Python developers, the python-barcode library enables straightforward Code 39 encoding through a simple API, allowing output in formats like SVG or PNG for web or print use. Commercial tools often rely on font-based approaches for seamless integration. IDAutomation's Code 39 Barcode Font Package offers fonts that generate scannable barcodes directly in applications like , Excel, or PDF creators, with encoders and macros to handle start/stop characters and optional check digits. Reading Code 39 barcodes is supported by dedicated scanner SDKs from hardware vendors. Zebra's SDK for Windows provides to interface with their devices, enabling Code 39 decoding in with features like batch scanning. Honeywell's SDKs, integrated into their scanner firmware, allow enabling Code 39 symbology via configuration barcodes, ensuring compatibility in industrial environments. Mobile applications leverage device cameras for on-the-go scanning; for instance, the Barcode Scanner app, based on ZXing, reads Code 39 from images or live video on devices. Implementation considerations include font-based rendering for static outputs like PDFs and labels, where tools like IDAutomation fonts ensure consistent bar widths when printed at resolutions above 600 DPI. For web applications, API integration via libraries such as ZXing's port allows dynamic generation and embedding of Code 39 images . Handling Full ASCII Code 39 requires pairing standard characters with shift codes (e.g., $ for uppercase shift), which libraries like Barcode4J automate to encode the full 128-character set without density loss. Hardware compatibility for Code 39 spans laser scanners introduced in the , which use beam reflection to read 1D symbologies at distances up to 13 inches, and wireless variants for workflows. Modern 2D imagers from vendors like Zebra and maintain backward compatibility, capturing Code 39 via sensors that also support stacked formats, ensuring reliability on damaged or low-contrast surfaces. Best practices emphasize validating input to restrict characters to the 43-symbol set (or extended via shifts), preventing encoding errors that could render barcodes unscannable. Including an optional modulo-43 check digit enhances error detection, computed as the weighted sum of character values modulo 43 and appended before the stop character. For print quality, test bar-to-space ratios (typically 2:1 to 3:1) using verification tools to achieve grades A or B per ISO/IEC 15416, avoiding voids or smudges that degrade readability.

References

  1. [1]
    ISO/IEC 16388:2023 - Code 39 bar code symbology specification
    This document specifies requirements for Code 39 bar code symbology, including characteristics, data encoding, dimensions, tolerances, and decoding algorithms.Missing: barcode | Show results with:barcode
  2. [2]
    CODE 39 and Codabar | Basics of Barcodes - Keyence
    CODE 39 is the barcode developed by Intermec Corporation in 1975. Up to 43 characters including numbers, letters and some symbols can be included in the barcode ...
  3. [3]
    Code 39 Barcode FAQ & Tutorial | BarcodeFAQ.com
    Standard Code 39 is limited to 43 characters. Extended Code 39 expands the set to include all 128 ASCII characters by encoding lowercase letters, punctuation, ...
  4. [4]
    Code 39 - Symbologies - Cognex
    Also called "Code 3 of 9" or "Alpha39," the Code 39 barcode was the first code to use both numbers and letters. It is a variable length barcode that can encode ...
  5. [5]
    [PDF] ISO/IEC 16388:2007 - iTeh Standards
    May 15, 2007 · The characteristics of Code 39 are as follows. a) Encodable character set: 1) full alphanumeric A to Z and 0 to 9 (ASCII characters 65 to 90 and ...
  6. [6]
    Code 39 - Dynamsoft Barcode Reader SDK
    Code 39 is widely used in non-retail environments. It is known as the automotive industry barcode and is also used manufacturing, logistics, defense, ...
  7. [7]
    50th Anniversary of the Barcode - Automation | Honeywell
    David Allais and Ray Stevens. They were both researchers working at Intermec Corporation (now Honeywell) in 1974 when they developed the Code 39 symbology.
  8. [8]
    [PDF] THE HISTORY OF AUTOMATIC IDENTIFICATION ID Systems
    Code 39, the first alphanumeric bar code symbology, is developed by Dr. David Allais and Ray. Stevens of Intermec. Prior to Code 39, commonly used bar codes ...
  9. [9]
    AUTO ID History - AIDC 100
    1974: Dr. David Allais and Ray Stevens of Intermec developed Code 39. 1976: The National Retail Merchant's Association (NRMA) chose OCR as a standard.
  10. [10]
    AIM 1980
    LOGMARS - DoD. On September 1, 1981, the United States Department of Defense adopted the use of Code 39 for marking all products sold to the United ...Missing: specification | Show results with:specification
  11. [11]
    [PDF] BARCODE HISTORY TIMELINE | A2B Tracking
    LOGMARS program using Code 39. 1982 – Computer Identics introduces Code 128, the most commonly used bar code in the world today. 1982 – Symbol. Technologies ...
  12. [12]
    8 Barcode Technologies - Monterey Barcode Creator 4 User Manual
    Code 39 Full ASCII supports entering control characters using special character input method. ... Since introduced in early 1980s, it has gained wide ...
  13. [13]
    Code 39 - Wikipedia
    Code 39 is a variable length, discrete barcode symbology defined in ISO/IEC 16388:2023. The Code 39 specification defines 43 characters, consisting of ...
  14. [14]
    ISO/IEC 16388:2007 - Code 39 bar code symbology specification
    ISO/IEC 16388:2007 specifies the requirements for the bar code symbology known as Code 39; it specifies Code 39 symbology characteristics, data character ...
  15. [15]
    [PDF] Code 39
    All AIM USS symbols must satisfy the minimum reflectance specification cited below for the spectral band centered at 633 nanometres in the visible spec trum.Missing: 1980s | Show results with:1980s
  16. [16]
    Code 39 Barcode Scanner SDK for mobile & web apps - barKoder
    Code 39 is widely used by the automotive, manufacturing, logistics, defense, medical & other non-retail related industries.
  17. [17]
    Code 39 Barcode - TechnoRiver
    Every character has five bars and four spaces; three of the elements in any given character are wide, and six are narrow.
  18. [18]
    [PDF] Code 39 Specification
    A complete code 39 barcode must include a start character * and a stop character *. In this way code 39 is self- checking.Missing: standard | Show results with:standard<|control11|><|separator|>
  19. [19]
    How to generate Code 39 barcode
    To generate the code 39 barcode Labeljoy requires you to enter up to 255 characters. Enter the text in the Text Box and press the Enter to generate Code 39 ...
  20. [20]
    Modulo 43 check digit calculation for barcodes with examples
    First, reference numbers are assigned to all characters of the code. These reference numbers are added to a total. This sum is divided by 43. The rest of this ...
  21. [21]
    ASCII Character Sets - US Home Page - Zebra Technologies
    Code 39 Full ASCII interprets the barcode special character ($ + % /) preceding a Code 39 character and assigns an ASCII character value to the pair.
  22. [22]
    [PDF] FREE BAR CODE 39
    However, it is possible to encode all 128 ASCII characters using the Full ASCII mode of bar code 39. ... Table 3 shows the encoding used to generate Full ASCII.
  23. [23]
    Code 39 - Full ASCII - Barcode Guide
    Code 39 is defined in ISO/IEC 16388 Information technology - Automatic identification and data capture techniques - Code 39 bar code symbology specification.
  24. [24]
    [PDF] MIL-STD-1189B.pdf - Express Identification Products
    3.13 Closed System. A system in which a single authority has control over all eleuelts, e.g., data content, bar code printing, bar code scanners;.Missing: LOGMARS | Show results with:LOGMARS
  25. [25]
    [PDF] THE HEALTH INDUSTRY SUPPLIER LABELING STANDARD FOR ...
    The bar code symbol quality for a Code 128 or Code 39 symbol in its final configuration shall be no lower than a. C/06/660 when measured according to ISO/IEC ...
  26. [26]
    LOGMARS Barcode Creation & Printing - BarcodeFAQ.com
    This tutorial focuses on creating the LOGMARS barcode from Code 39 using the IDAutomation Barcode Image Generator software. The LOGMARS military barcode is ...Missing: 1982 | Show results with:1982
  27. [27]
  28. [28]
  29. [29]
    HIBC - Barcode Guide
    Code 39 - Regular: When Code 39 is used, HIBC primary and secondary data should be encoded in separate symbols but may be concatenated if space allows. The Code ...Missing: subset | Show results with:subset
  30. [30]
    The Comprehensive Guide to 1D and 2D Barcodes | Dynamsoft Blog
    Feb 2, 2020 · MSI Code is a variant of the Plessey Code, also known as Modified Plessey. The MSI Data Corporation developed the MSI Code to improve the ...
  31. [31]
    Barcode Symbologies | Scandit Developer Documentation
    Oct 29, 2025 · Please note that Code 39 codes can be scanned as valid Code 32 codes and vice versa. Code 32 is a subset of the Code 39 symbology (and therefore ...
  32. [32]
    Applications of Code 39 barcode
    Code 39 barcodes are fundamental to inventory management and point-of-sale (POS) operations. Each product can be assigned a unique Code 39 barcode.
  33. [33]
    Parts Identification & Tracking Application Standard - AIAG
    Outlines the symbologies recommended for automotive part identification and tracking. Recommends the use of the linear symbologies, Code 39 or Code 128.
  34. [34]
    Aerospace and Defense - Barcode Guide
    Aerospace uses linear (Code 39, Code 128) and 2D (Data Matrix) barcodes. Defense uses Code 39, Code 128, EAN/UPC, Data Matrix, and PDF417.
  35. [35]
    Code 39 Barcode Scanner - Scandit
    Code 39 barcodes are used to label goods across many industries. It is currently the most widely used alphanumeric barcode. Learn more.<|control11|><|separator|>
  36. [36]
    Code 39 Barcode - Neodynamic
    The Standard Mode (Default implementation) can encode uppercase letters (A through Z), digits (0 through 9) and a handful of special characters like the *, -, $ ...
  37. [37]
    What Is a Barcode? How Barcodes Work, Benefits, and Uses
    Sep 8, 2025 · Code 39 barcodes can include numbers, letters, and symbols and are primarily used by the U.S. Department of Defense and in certain ...
  38. [38]
    RFID vs Barcode: The Ultimate Guide [Updated for 2025] - CYBRA
    Aug 26, 2025 · This guide will break down the strengths and limitations of each, and help you decide when to use barcodes, when to use RFID, and when a hybrid ...
  39. [39]
  40. [40]
    ZXing ("Zebra Crossing") barcode scanning library for Java, Android
    ZXing ("zebra crossing") is an open-source, multi-format 1D/2D barcode image processing library implemented in Java, with ports to other languages.ZXing Project · Releases 31 · Getting Started Developing · Issues 6
  41. [41]
    Welcome to Barcode4J
    Barcode4J is a flexible generator for barcodes written in Java. It's free, available under the Apache License, version 2.0.Version 2.1 · Barcode4J examples · Important Krysalis Barcode News · FAQMissing: libraries python-
  42. [42]
    Scanner SDK for Windows - API - Zebra Technologies
    The Zebra Scanner SDK provides an easy to use yet powerful and extendible set of API commands to interface with scanner devices.Missing: Honeywell | Show results with:Honeywell
  43. [43]
    How to enable Code 39 Symbology? - Honeywell Support Portal
    If Code 39 Symbology has been disabled, scan the Enable Code 39 from the appropriate User's Guide. All Users Guides can be found on the Honeywell Website.Missing: SDK Zebra
  44. [44]
  45. [45]
    zxing-js/library: Multi-format 1D/2D barcode image ... - GitHub
    ZXing ("zebra crossing") is an open-source, multi-format 1D/2D barcode image processing library implemented in Java, with ports to other languages.Issues 167 · 490 · Pull requests 8 · SecurityMissing: python- | Show results with:python-
  46. [46]
  47. [47]
  48. [48]
    Barcode Check Digits: What They Are and Why They Matter
    Jun 19, 2025 · A check digit is a simple method of error detection with a lot of math behind it that ensures barcodes are scanned correctly.Why Are Check Digits... · Check Digits In Gs1 Barcode... · How Do Check Digits Work?Missing: implementation | Show results with:implementation
  49. [49]
    Code 39 Barcode: Complete Guide for Industrial and Asset Tracking
    Jun 30, 2025 · Check print quality: Ensure clear, sharp printing; Verify scanner settings: Configure for Code 39 reading; Examine environmental conditions ...