
The consequences of a faulty or incorrect barcode can be detrimental to businesses, especially the food and beverage industry and FMCG sectors, as incorrect and un-scannable barcodes can lead to financial penalties, rejected goods or shipments and possible fines for wasted time and effort.
Barcodes are the backbone of modern inventory management systems as they’re perfect for data tracking across all industries. Amongst the many barcode symbologies available, Code 128 and Code 39 are two of the most widely used barcodes in retail, healthcare, and manufacturing industries because of their specific data capabilities.
In this blog, we’ll break down the differences between Code 128 and Code 39 barcodes; explain their advantages, limitations, and ideal use cases to help you make the best decision for your own barcode needs👇
What is a Code 128 barcode?
The Code 128 barcode was invented by Ted Williams in 1981, at Computer Identics. Williams was a key figure in barcode technology development, and created Code 128 specifically to improve earlier barcode symbologies like Code 39, to offer a high density option with the ability to encode all 128 ASCII characters efficiently.
The Code 128 barcode is a compact barcode capable of holding high density, alphanumeric data and symbols. The GS1-128 variant also includes application identifiers, such as expiry dates, batch numbers and weights.
Code 128

Why is the Code 128 Barcode Popular?
There are many advantages to Code 128 barcodes, including its high data density meaning it can hold high quantities of data in smaller spaces. Similarly, it can hold a variety of data types from letters, numbers, symbols and special characters which sets it apart from Code 39 barcodes, and makes it a flexible choice. Finally, the Code 128 barcode has a built in checksum function for error detection which helps improve its reliability for inventory and asset tracking.
What Industries use Code 128 Barcodes?
Thanks to its efficiency and reliability, the Code 128 barcode is most commonly used in shipping, logistics and retail industries where space is limited, but high data capacity is required:
- Shipping & Logistics – used on shipping labels, freight tracking and parcel deliveries
- Retail & Inventory Management – Used mostly for product labels and identification, and stock control in warehouse/ units
- Healthcare – Used to track medical equipment and devices, patient wristbands, and medication packaging to ensure accurate tracking from couriers to hospital sites
- Government & Identification – Found on ID cards, security badges, and compliance labels
- Manufacturing & Warehouses – often on product labels and packaging to help track parts, manage inventory and automate data tracking

Code 128 Industry Example:
Shipping & Logistics
Code 128 barcodes are more commonly used in manufacturing and shipping because it contains numeric and alphanumeric characters that represent product characteristics, such as its batch number, manufacturing date and expiry date, which are important for all to access throughout the shipping process. Similarly, these barcodes operate well with both automatic scanning operations (pallet checkpoints), and handheld barcode scanners used by staff that prepare and receive the goods.

What is a Code 39 barcode?
The Code 39 barcode is one of the oldest barcode symbologies still used today. It was developed in 1974 by Dr. David Allais and Raymond Stevens at Intermec, a company specialised in barcode technology, to help improve inventory tracking and asset management.
Code 39 barcodes can hold both letters and numbers without the need for complex coding, making it ideal for simple identification and labelling tasks. It was named “Code 39” because - you guessed it - it holds 39 characters 🙌
Unlike Code 128, this barcode does not require a checksum by default, so it is easier to generate and use.
Code 39

Why is the Code 39 barcode popular?
This barcode only holds 39 characters which makes it simple and easy to generate and implement for businesses, no complex coding required. Similarly, the data it supports can be in the form of letters, numbers or special symbols (-, ., $, /, +, and %), making it a versatile choice for different industries to label and track assets. Plus, it can be read by almost all barcode scanners without the need for special configuration or software.
Furthermore, unlike the Code 128 barcode which always requires a checksum, the Code 39 barcode allows users to choose whether to include a checksum or not, this way they can simplify scanning in non-critical applications even further.
What Industries use Code 39 Barcodes?
Code 39 is commonly used in industries where barcode size is not a priority, and data complexity is limited. This includes:
- Industrial & Manufacturing - Used to label parts and include serial numbers for asset tracking in factories, and warehouses across locations
- Military & Government - In the U.S, the Department of Defence (DoD) uses Code 39 barcodes as a standard format for tracking military logistics
- Medical Equipment - Code 39 barcodes are often found on hospital inventory labels for medical devices where space is not an issue
- Automotive - For tracking vehicle parts and general inventory management
- Identification – They’re easily generated, so often used for employee ID badges to track basic information, such as name, department codes and ID number
- Asset Tracking - Code 39 can also be found on office equipment and tools for internal office or warehouse tracking

Limitations of Code 39
Whilst Code 39 is simple to generate and print for many different uses, it does have limitations which make it unsuitable for some industries. A few limitations include:
- The low data density means it requires more space when printed
- Limited character set in standard mode
- Less efficient than newer barcode types, such as QR codes
- Not suitable for very small products/labels
While, there are many use cases for industries that do not focus on size or data density, for others that require small product labels or need to store higher amounts of data, it would be better to look at Code 128 barcodes or other digital 2D barcodes for these needs.
Code 39 Industry Example:
Retail and Inventory Management
Code 39 barcodes are vital for retail (POS operations) and inventory management to ensure all stock is accounted for, well tracked across from warehouse ➡️ supermarket, and that the correct information is provided. Code 39 barcodes often hold SKU information, product name and pricing so that POS systems can accurately and efficiently process items at checkout.
Code 128 vs 39: the differences?
Check the direct differences between the Code 128 and Code 39 barcodes to see which suit your needs best:
Feature | Code 128 | Code 39 |
---|---|---|
Character set & encoding | Alphanumeric data and symbols. The GS1-128 variant also includes application identifiers, such as expiry dates, batch numbers and weights. | Letters, numbers, and some special symbols (-, ., $, /, +, and %), available in standard mode and Full ASCII |
Data density & size | High data density | Low data density |
Error detection and correction | Check digit, built in checksum function for error detection | Self checking mechanism, does not require a checksum by default |
Scanning compatibility | Mobile and scanners | Mobile and scanners |
Code 39 and Code 128 barcode FAQS
Can I print barcodes with Orca Scan?
Yes! With our Free Barcode Generator you can create, generate and download all the barcodes you need.
Can I print barcode labels with Orca Scan?
Yes, you can do this too!
With our brand new Barcode Label Designer you can choose from our label templates, or create your very own custom labels using your preferred barcode types, in a matter of minutes 👏
Can I scan Code 128 or Code 39 barcodes with Orca Scan?
With Orca Scan, you can scan several barcode formats, and generate up to 12 different barcode types with our barcode scanning app, using a smartphone or our web app.
What’s the best way to implement new barcodes?
Whilst barcode implementation depends on your specific needs, we’ve put together a few proven steps that will help:
- Choose the right barcode type - Select a symbology that matches your requirements, for example Code 128 for high density and full ASCII support or Code 39 for simpler systems with basic scanners
- Generate quality barcodes - Use Orca Scan’s Barcode Generator to create professional-grade barcodes in your chosen format
- Create appropriate labels - Design labels with our Barcode Label Designer to include clear, human-readable text and proper quiet zones
- Test scanning reliability - Verify your barcodes scan properly across different lighting conditions and scanning distances using the Orca Scan mobile app before rolling out across stock
- Implement a tracking system - Connect your barcodes to a trusted inventory tracking system like Orca Scan to leverage real-time data collection across locations
- Train your team - Ensure all users understand how to properly scan and work with the barcodes using our simple interface
For more detailed guidance on implementing barcode tracking for your specific industry, contact our support team.
What is the future of barcodes?
You may have heard of Sunrise 2027, which marks the year that many retail brands are likely to have moved over to new digital QR codes rather than 1D UPC barcodes.
We don’t believe that all traditional barcodes will become obsolete by then (like UPC, Code 39, or Code 128), as they still have their place for many industries, but for retail brands, QR codes have lots of advantages and we’re excited to see the impact of them alongside our Digital Link solution which supports the switch from 1D ➡️ 2D QR codes.
Need help choosing between Code 128 or Code 39 barcodes?
Whether you choose to use Code 128 or Code 39 barcodes, we are here to help you. Orca Scan is your one-stop shop for all things barcodes; simply download our mobile app on any Apple or Android device and you can scan, track and export all your data with just a few clicks.
Download the free Orca Scan app today and get scanning.