Barcode Technology

Barcode History

Barcode Label Paper

Barcode Printer

Barcode Application

Inventory Management

AI Barcode QRCode

Barcode Scanner

Barcode Software

Barcode Software B

Barcode Software C

Barcode Software D

Barcode Software E

New Technology A

New Technology B

Robot Technology

Barcode Types

Barcode Types B

Barcode Types C

Barcode Types D

Barcode Types E

Barcode Types F

Electronic Technology

Psychology at Work

Barcode Technology and Barcode Software Related   <<< Back to Directory <<<

Code 39 Barcodes: A Technical Deep Dive Into the Iconic (Code 3 of 9) (P57)

Chapter 57: The Encoding Speed Factor

Code 39 is one of the most recognizable barcode symbologies in the world, but it carries a hidden cost that few outside the engineering and logistics communities appreciate: it is slow to read. Because Code 39 uses a bi-level encoding scheme where each character consists of nine elements, of which exactly three are wide and six are narrow, a laser scanner must sweep across a relatively long and complex pattern to decode even a short message. This 'encoding speed factor' has significant real-world consequences. Unlike more modern symbologies such as Code 128, which pack more data into a smaller physical space, Code 39 demands more time from the scanning hardware and more space on the label. For high-speed sortation conveyors in logistics hubs, for rapid checkout scenarios in retail, and for any environment where throughput is measured in items per second, this extra time adds up. This chapter explores the technical reasons behind Code 39's slower reading speed, examines how this limitation manifests across various industries, and considers why an 'old, slow' symbology remains in widespread use despite its clear disadvantages in the speed department. We will see that in some applications, the speed factor is a minor inconvenience; in others, it is a deal-breaker that forces migration to faster codes.

The Architecture of Slowness

To understand why Code 39 is slow to read, we must first understand how it is built. Code 39, developed in 1974 by Dr. David Allais and Ray Stevens of Intermec, was designed for simplicity and reliability rather than speed or density. Its fundamental architecture is disarmingly straightforward: each character is represented by five bars and four spaces, making nine elements in total. Of these nine, exactly three are wide and six are narrow. This 'three out of nine' structure is precisely where the symbology gets its name and precisely where its speed challenges originate.

The wide-to-narrow ratio typically ranges from 2.2:1 to 3:1, with a ratio around 2.5:1 being common. This means that a wide bar or space is roughly two-and-a-half times the width of a narrow one. When a laser scanner sweeps across the barcode, it must measure the duration of each bar and space to determine whether it is wide or narrow. Because there are nine elements per character, plus an inter-character gap that must be at least one narrow unit wide, a Code 39 symbol is physically longer than many other symbologies for the same data payload.

By comparison, Code 128 encodes each character with a variable number of elements and uses a more efficient encoding scheme. The result is that a given piece of data encoded in Code 128 takes up roughly 30% less space than the same data in Code 39, and in some cases even more. This is not merely a matter of label real estate. The physical length of the barcode directly translates to the time required for a laser to sweep across it. A longer barcode means a longer sweep, and a longer sweep means more time per scan.

The situation is further complicated by the self-checking property of Code 39. The symbology is designed so that a single printing or reading error cannot transform one valid character into another valid character. This is achieved by ensuring that the wide/narrow patterns for each character are sufficiently distinct. While this is a robustness advantage, it also means that the decoder cannot take shortcuts. It must distinguish between patterns with high precision, relying on the accurate measurement of bar and space widths. Any variation in the wide-to-narrow ratio, whether due to printing quality, ink spread, or scanner calibration, can cause misreads or no-reads, requiring repeated scans.

From a pure physics perspective, the scanning process is a race against time. On a high-speed sortation conveyor, parcels might be moving at several meters per second. A laser scanner positioned above the belt must be able to capture and decode the barcode in the brief instant the label passes through the scan zone. If the barcode is too long or the decode algorithm too slow, the item will pass the scanner before the code is read, resulting in a mis-sort or a reject.

The Speed Factor in Logistics and Package Sortation

Nowhere is the encoding speed factor more acutely felt than in logistics and parcel sortation. Modern sorting facilities are marvels of automation, processing tens of thousands of packages per hour. In these environments, speed is not merely a metric of efficiency; it is the lifeblood of the operation. Amazon, UPS, FedEx, and postal services around the world operate massive hubs where conveyor belts move packages at high speed through a network of scanners, diverters, and chutes.

When Code 39 is used in these applications, the limitations are stark. A typical Code 39 barcode on a package might encode a tracking number of 10 to 15 characters. Including the mandatory start and stop asterisks, this results in a barcode that is substantially longer than a Code 128 equivalent. The laser scanner must sweep across this entire symbol. If the label is printed with a small 'X dimension' (the width of the narrowest bar) to conserve space, the scanner may struggle to resolve the narrow bars reliably, especially at high belt speeds. If the label is printed with a larger X dimension for readability, the barcode becomes even longer, increasing the sweep time.

Patent literature from the mid-2000s reveals that engineers were acutely aware of this timing challenge. One patent discusses setting the recurrence interval of adjacent bar code lines and adjusting laser scanning conditions so that the time to scan a Code 39 symbol is in the range of milliseconds. The document describes test conditions where the time from the starting point of one line to the ending point of the next is adjusted to values as low as 0.18 milliseconds or as high as 38 milliseconds, with various wide-to-narrow ratios and printing conditions. While the specific numbers are technical, the underlying concern is clear: every fraction of a millisecond counts. The patent explicitly discusses the trade-offs between printing speed, scanning time, and readability---concerns that are paramount in high-speed sorting.

Consider a typical hub operation. A conveyor belt might move at 2 to 3 meters per second. The scan zone for a laser scanner might be only 20 to 30 centimeters wide. This means that a package has roughly 100 milliseconds to be scanned. If the Code 39 label requires 20 milliseconds to read, that might be acceptable. But if the label is poorly printed, or if the wide-to-narrow ratio is marginal, the scanner might require multiple passes or a longer decode time. In the worst-case scenario, the package passes through the scan zone without being read, and it must be diverted to a manual sort station, reducing throughput and increasing labor costs.

In these high-speed environments, the industry has largely moved toward Code 128 or Data Matrix codes for new implementations. Code 128 offers higher density and faster decode times due to its more efficient encoding and built-in checksums that reduce the need for complex self-checking logic. However, Code 39's legacy is enormous. Many older systems, particularly those installed in the 1980s and 1990s, remain in operation, and these systems are often tied to Code 39. The cost of upgrading hardware, software, and label printing systems to support a different symbology can be prohibitive, so many facilities continue to use Code 39 despite its speed penalties.

The Defense and Aerospace Sector: LOGMARS and MIL-STD-130

The United States Department of Defense has been one of the largest and most influential adopters of Code 39. Through the LOGMARS (Logistics Applications of Automated Marking and Reading Symbols) program and the associated MIL-STD-1189 and MIL-STD-130 standards, the military mandated the use of Code 39 for marking government property. This was a powerful endorsement that drove widespread adoption across the defense industrial base.

In these applications, the encoding speed factor is less critical than in high-speed parcel sorting, but it still poses challenges. Military logistics encompasses a vast array of items, from small electronic components to massive artillery pieces and aircraft parts. For small items, the low data density of Code 39 is problematic because the label may need to be very small. The military addressed this by specifying a minimum X dimension to ensure readability. For large items, the barcode can be printed at a larger size, but the scanning process may require handheld or fixed-mount readers that must be positioned relatively close to the label.

Consider an aircraft maintenance depot. Technicians use portable barcode scanners to read labels on parts and assemblies. They scan a part to verify its identity, check its maintenance history, and record its installation in a new location. In this scenario, a scan might take a second or two. The speed factor is less critical than accuracy and durability. Code 39's self-checking property is actually an advantage here because the labels may be subject to wear and tear, exposure to oil and solvents, and other harsh conditions. The ability to reject misreads due to a single bar error is valuable.

Nevertheless, there are still speed implications. If a technician has to scan dozens or hundreds of parts per day, a slight delay in each scan adds up. An extra 100 milliseconds per scan might not sound like much, but over a thousand scans, that is 100 seconds---nearly two minutes of wasted time per day. Across a large maintenance facility, this accumulates into a significant drag on productivity.

The military has recognized these limitations and has moved toward newer symbologies such as Data Matrix for many applications. Data Matrix, a 2D matrix code, can pack a great deal of data into a small space and can be read quickly by image-based readers. However, Code 39 remains in use for legacy systems and for applications where the existing infrastructure makes a change impractical.

The Automotive Industry: AIAG and Supply Chain Labeling

The automotive industry has also been a heavy user of Code 39 through the standards set by the Automotive Industry Action Group (AIAG). The AIAG B-1 standard for part labeling was historically based on Code 39, and many automotive suppliers continue to use it. In automotive manufacturing, the speed factor manifests in the supply chain and on the assembly line.

Automotive assembly lines are fast-paced environments. A car moves down the line, and as it passes each station, workers or robots install components. Each component has a barcode label that is scanned to verify that the correct part is being installed and to record the installation for traceability. If a Code 39 label takes an extra moment to scan, the worker may have to pause the line or work more quickly to compensate. In a factory producing hundreds or thousands of vehicles per day, even a half-second delay per part can translate into a meaningful reduction in throughput.

The speed factor is particularly noticeable when using handheld scanners. Workers must aim the scanner at the label, wait for the beep indicating a successful decode, and then move on. If the Code 39 label is long, the scanner may need to be held at a specific angle and distance to get a clean read. If the label is damaged or dirty, the scan may take even longer or fail entirely, requiring the worker to try again.

Some automotive plants have addressed these issues by investing in high-performance imaging scanners that can read Code 39 labels more quickly and from a greater distance. These scanners use advanced algorithms and higher processing power to decode the barcode almost instantaneously. However, these scanners are expensive, and not all plants have upgraded.

In recent years, many automotive companies have transitioned to Code 128 or Data Matrix for new programs, taking advantage of the higher density, smaller size, and faster read times. However, the vast installed base of Code 39 in the supply chain means that it will be a long time before the symbology disappears entirely. Suppliers who want to do business with multiple OEMs often need to support multiple symbologies, adding complexity and cost to their labeling processes.

Healthcare and Medical Devices: HIBC and the Need for Speed

The healthcare industry has a long history with Code 39 through the Health Industry Bar Code (HIBC) standard. In hospitals, clinics, and pharmaceutical manufacturing, Code 39 labels are used on everything from patient wristbands to blood bags to medication packaging. In these applications, the speed factor is a matter of patient safety and staff efficiency.

Consider a nurse scanning a patient's wristband before administering a medication. The wristband may contain a Code 39 barcode that encodes the patient's medical record number. The nurse scans the wristband, then scans the medication barcode, and the system verifies that the medication and dosage match the patient's prescription. This 'five rights' check (right patient, right drug, right dose, right route, right time) is a critical safety measure that can prevent medication errors.

If the Code 39 barcode on the wristband is slow to read, the nurse may be tempted to skip the scanning step or to scan less consistently. A delay of even a few seconds per patient might seem minor, but in a busy emergency room or on a crowded hospital ward, these seconds add up. Over the course of a 12-hour shift, a nurse might scan dozens or hundreds of barcodes. The cumulative time spent waiting for decodes can be substantial.

Moreover, healthcare environments often involve mobile workstations and portable scanners that must be moved from room to room. These scanners typically use wireless communication and battery power. A slower decoding process consumes more battery power, requiring more frequent recharging. It also puts more wear and tear on the scanner hardware.

The healthcare industry has recognized the limitations of Code 39 and has largely moved to Code 128 for many new applications. However, the installed base of Code 39 in older hospital systems, laboratory equipment, and pharmaceutical packaging is enormous. Upgrading these systems is a complex and costly undertaking, particularly because medical device labeling is subject to strict regulatory requirements.

Library and Asset Tracking

Libraries were among the early adopters of barcode technology for circulation management. Code 39 became a popular choice because it is simple to implement, does not require a check digit, and can be printed easily using standard laser printers or dedicated barcode printers. In a library setting, the speed factor is less critical than in high-speed sortation, but it is still relevant.

Librarians use barcode scanners to check books in and out, to conduct inventory, and to sort returned items. A typical library barcode might encode a book identification number that is 10 to 14 characters long. In Code 39, this results in a relatively long label. When a librarian scans the barcode at the checkout desk, the scanner must decode the entire label. If the scanner is old or the label is worn, the scan might take a second or more.

This might not seem like a major problem, but during peak hours when a long line of patrons is waiting to check out, every second matters. A library that processes thousands of transactions per day could see a noticeable reduction in service speed due to slow barcode reads. Some libraries have addressed this by switching to Code 128 or by investing in high-performance scanners that can read Code 39 more quickly.

Inventory management is another area where speed matters. Libraries sometimes conduct inventory audits by scanning every book on the shelf. This is a laborious task that can take weeks. If each scan takes an extra half-second, the total time for the inventory increases significantly. For large research libraries with millions of volumes, this is a serious concern.

Despite these challenges, many libraries continue to use Code 39 because their existing integrated library systems were built around it and because the cost of changing the labeling scheme for millions of books is prohibitive. The encoding speed factor is a known limitation, but it is one that libraries have learned to live with.

Manufacturing and Work-in-Progress Tracking

In factories and manufacturing plants, Code 39 is often used for work-in-progress tracking, asset management, and quality control. Parts and assemblies are labeled with barcodes that encode part numbers, lot numbers, serial numbers, and other data. Workers scan these labels at various stages of production to record progress, track quality metrics, and manage inventory.

In these applications, the speed factor interacts with the rhythm of the production line. If a worker at a machine must scan a Code 39 label before starting a job, and the scan is slow, the worker may become frustrated. Over the course of a shift, the delays accumulate. For a high-volume production process, this can reduce output and increase costs.

One of the challenges in manufacturing is that labels are often placed on metal parts, printed on flexible plastic tags, or applied to containers that are exposed to oil, grease, and dirt. These conditions can degrade the label, making it harder to scan and increasing the likelihood of no-reads or misreads. When a scanner struggles with a Code 39 label due to poor print quality, it may take multiple attempts to get a successful decode, dramatically slowing down the process.

Image-based readers have helped alleviate this problem. Unlike laser scanners, which rely on the reflected light from the bars and spaces, image-based readers capture a picture of the barcode and decode it using software. These readers can often decode damaged or poorly printed Code 39 labels more quickly than laser scanners. However, they are more expensive, and many older systems still use laser technology.

The Retail Conundrum

Interestingly, Code 39 has never been widely adopted in mainstream retail point-of-sale (POS) applications. The Universal Product Code (UPC), which is a variation of the U.P.C. symbology, dominates retail checkout. UPC is a fixed-length, numeric-only barcode that is highly optimized for speed at the checkout counter. It is much denser than Code 39 and uses a more efficient encoding that requires less time to scan and decode.

The encoding speed factor is a major reason why Code 39 was never competitive in retail. Imagine the chaos at a supermarket checkout if each item required scanning a Code 39 barcode that was 30% longer than a UPC. The extra time per item would slow down the checkout process, leading to longer lines and unhappy customers. Retailers demand throughput, and every millisecond counts.

However, Code 39 did find a niche in retail for applications other than POS. Some retailers use Code 39 for internal inventory control, shelf labeling, and returns processing. In these areas, the speed factor is less critical because the scanning is not performed in front of customers during checkout. Internal processes can tolerate slightly slower scans in exchange for the flexibility of alphanumeric encoding.

The Rise of Code 128 and the Slow Decline

Code 128 was developed in 1981 as a more efficient alternative to Code 39. It encodes data using a variable number of elements per character and includes a checksum for error detection. Code 128 offers substantially higher data density, a smaller physical footprint, and faster scanning speeds.

A key advantage of Code 128 is that it is a continuous symbology, meaning that characters are not separated by inter-character gaps. This allows it to pack more data into a given length. Code 39, by contrast, is a discrete symbology with mandatory gaps between characters. These gaps contribute to the overall length and increase the scan time.

In high-speed applications, Code 128 is often the preferred choice because it balances density, speed, and reliability. The Universal Postal Union, for example, recommends using Code 128 for postal applications. Many logistics companies, including UPS and FedEx, use Code 128 or proprietary symbologies based on it for their sorting operations.

Despite the advantages of Code 128, Code 39 continues to be used in many legacy systems, particularly in government, defense, automotive, and healthcare. The cost and disruption of migrating to a new symbology are often considered too high to justify the benefits, especially in industries where speed is not the primary concern.

Mitigation Strategies

Given that Code 39 is not going away overnight, what can organizations do to mitigate the encoding speed factorSeveral strategies have been developed to help work around the limitations of Code 39.

First, organizations can invest in high-performance scanners that are capable of decoding Code 39 more quickly. Modern image-based readers can read Code 39 labels at high speed and from multiple angles. Some scanners use sophisticated algorithms and multi-processing to accelerate the decode time. While these scanners are more expensive, they can significantly improve throughput in high-speed environments.

Second, organizations can optimize the printing quality of their Code 39 labels. A label with a clean, high-contrast print and a consistent wide-to-narrow ratio is easier to read than a label with bleeding ink or uneven bars. Using high-quality thermal transfer printers and premium label stock can reduce scan failures and improve decode speed.

Third, organizations can carefully choose the X dimension and the physical size of the label. A larger X dimension makes the barcode easier to read but increases its length, which may slow down the scan. A smaller X dimension reduces the physical footprint but may make the barcode harder to read. There is no one-size-fits-all answer; organizations must balance these trade-offs based on their specific application requirements.

Fourth, some organizations use Code 39 Extended, which is a version that encodes all 128 ASCII characters by combining pairs of base characters. However, this extension doubles the length of the barcode for extended characters, making the speed factor even worse. For this reason, Code 39 Extended is rarely used in high-speed applications.

Finally, organizations can consider transitioning to more modern symbologies for new applications while maintaining Code 39 for legacy systems. This hybrid approach allows organizations to benefit from faster scanning in new areas without the disruption of changing existing labels.

The Future of Code 39

Will Code 39 eventually disappearIt is unlikely to vanish entirely in the near future. The installed base is simply too large. However, its use is gradually declining as organizations upgrade their systems and adopt more efficient symbologies.

In high-speed sortation, the trend is clearly toward Code 128, Data Matrix, and even QR codes. These symbologies offer better performance, smaller size, and more capability. In healthcare, the U.S. Food and Drug Administration has mandated that medical devices bear UDI (Unique Device Identification) barcodes, and while Code 39 was initially allowed, the trend is toward GS1-128 and Data Matrix. In automotive and defense, there is a similar movement toward 2D codes.

The encoding speed factor is just one of several reasons why Code 39 is being replaced. Its low data density, limited character set, and lack of built-in checksum (in the base symbology) are also significant drawbacks. However, the speed factor is perhaps the most immediate and visible limitation, particularly in applications where throughput is critical.

Summary

In this chapter, we have explored the encoding speed factor of Code 39---the time required for a scanner to sweep across the barcode and decode its data. Due to the bi-level encoding scheme that uses three wide and six narrow elements per character, Code 39 is inherently slower and physically longer than more modern symbologies such as Code 128. This slowness has significant implications across a range of industries.

In logistics and parcel sortation, every millisecond counts. High-speed conveyor belts and automated sorting systems require fast, reliable barcode reading to maintain throughput. Code 39's length and complexity can cause misreads or require multiple scans, leading to delays, mis-sorts, and increased manual labor. Many large carriers have migrated to Code 128 to overcome these limitations.

In the defense and aerospace sector, where Code 39 is mandated by LOGMARS and MIL-STD-130, the speed factor is less critical but still contributes to reduced efficiency in maintenance, supply chain, and inventory operations. Technicians scanning hundreds of parts per day may experience cumulative delays, and the military has begun moving toward Data Matrix for new applications.

The automotive industry, through AIAG standards, has similarly relied on Code 39 for part labeling. On assembly lines and in supply chains, slow barcode reads can reduce production speed and increase costs. Automakers are increasingly adopting Code 128 and Data Matrix for new vehicles and programs.

In healthcare, where patient safety depends on accurate medication administration, Code 39 labels on wristbands and drug packaging can slow down nurses and reduce compliance with mandatory scanning protocols. The industry is gradually shifting to Code 128 and 2D codes.

In libraries and manufacturing, Code 39 remains common due to legacy infrastructure, but the speed factor causes inefficiencies in checkouts, inventory, and work-in-progress tracking. Organizations often accept these delays because the cost of migration is high.

Despite its slowness, Code 39 persists because of its simplicity, self-checking property, and massive installed base. Organizations can mitigate the speed factor by investing in high-performance image-based scanners, optimizing printing quality, and carefully selecting label dimensions. However, the long-term trend is toward faster, denser symbologies.

Code 39's historical significance and widespread adoption ensure that it will remain part of the barcode landscape for many years to come. Yet, in any application where speed and throughput are paramount, the encoding speed factor is a serious challenge that must be addressed, either through technical mitigations or a strategic transition to a more modern symbology. As we have seen, the technical architecture of Code 39, while elegant and robust, imposes a speed penalty that affects operations in industries as diverse as shipping, manufacturing, healthcare, and defense. Whether an organization chooses to live with this penalty or work around it depends on a careful assessment of the costs and benefits. In the rapidly evolving world of automatic identification, speed will always be a priority, and Code 39's status as a 'workhorse' symbology will continue to be tested by the demands of high-speed automation.

 

EasierSoft Barcode Label Design & Bulk Printing Software

---- Use Excel Data to Batch Print Barcodes on Label Sheets or Roll Labels  

---- How to use this barcode software

Download:  Free Barcode Software + Barcode Label Designer

Download Free Barcode Software at Softonic

     Download at CNET

Once you obtain a GS1/UPC/EAN barcode, or other barcode type and QR code, you can use our free software to batch print barcode labels onto Roll label paper using a professional label printer, or to batch print barcodes onto Avery 5160 label sheets using a regular laser or inkjet printer. Our software has free and paid versions.

The free version fully meets your needs for batch printing GS1/UPC/EAN barcodes. The paid version can import data from Excel and databases to batch print barcode labels with different values.

How to Start

Input Data

Import Excel Data

Print Barcode

Barcode Format

Label Designer

All Screen Shot

Export Barcode Image

Save Template

Output Word Excel

How to Use & FAQ:

Configuring the Barcode Print Rotation

Text Alignment for Barcode Labels

Automatically Adjusting Barcode Width

Text Beneath the Barcode

Configuring Barcode Size

Auto Calculate the Barcode Size

Export Barcode images

Export Barcode Image Format

File Names for Exported Barcode

Resolution of Exported Barcode Images

Fixed Folder for Exporting Barcode

Default Barcode Image Export Format

Print bulk barcodes quickly

Print barcodes to Avery 5160 label

How to bulk Barcode Printing

Sample - Avery 5162 (2x7) Label Sheet

Example: Print barcodes to 5*3cm roll

Example: Print barcodes to 5161 label

Example: Print barcodes to 5162 label

Example: Print barcodes to 5163 label

Example: Print barcodes to 5164 label

Example: Print portrait orientation 5164

Example: Print barcodes to 5167 label

Example: Print barcodes to 5168 label

Example: Print portrait orientation 5168

Example: Print barcodes to 5169 label

Example: Print barcodes to 5660 label

Example: Print barcodes to 5661 label

Example: Print barcodes to 5662 label

Example: Print barcodes to 5663 label

Example: Print barcodes to 5664 label

Example: Print portrait orientation 5664

Example: Print barcodes to 5873 label

Example: Print barcodes to 5874 label

Two ways to import Excel data

Import Excel Data - Pro Edition

Import Excel Data - Std Edition

Import Data from Excel - Detail

Load Data From Excel File

Data Editing Table

Copy Data From Excel

Four ways to input barcode data

Add ASCII Key E

Input Multiple Lines of Text for Barcodes

Generates Sequential Serial Numbers

Import or copy data from Excel sheets

Special sequence number generation

Std Details: Simple Input Form

Std Details: Multiple Line Text Input

Details: Sequence Barcode Generator

Highlights

Excel integration: Import data directly from Excel to generate and print barcodes in bulk.

Label designer: Create complex labels with multiple barcodes, text, logos, and shapes.

Batch printing: Print thousands of barcodes at once using standard inkjet/laser printers or professional barcode printers.


Flexible editions:

Standard Edition: Simple batch printing with Excel data.

Professional Edition: Adds command-line automation for workflow integration.

Label Designer Edition: Advanced design features for complex labels.


Why Choose Our Barcode Solutions?

Cost-effective: Free online generator and permanent free desktop version available.

Easy to use: No technical expertise required—just input data and print.

Versatile: Supports nearly all 1D and 2D barcode types, including QR codes.

Trusted: Recommended by CNET and widely downloaded by users worldwide.


Suitable Use Cases

Small businesses and startups needing quick barcode labels for products.

Retailers and online sellers managing inventory with batch barcode printing.

Manufacturers requiring sequential or custom barcode labels for packaging.

Educational and testing environments where barcodes are used for tracking.

 

 

CONTACT

cs@easiersoft.com

If you have any question, please feel free to email us.

 

https://free-barcode.com

 

<<< Back to Directory <<<     Barcode Generator     Barcode Freeware     Privacy Policy