What you're using right now
- 100+ barcode & QR symbologies
- Live preview & customization
- PNG & SVG export, no login
- Copy to clipboard
Loading Barcode Mintβ¦
Free Online Barcode & QR Code Generator
Pack lot number, expiration date, and serial data into a denser HIBC PAS barcode using Code 128 for tight medical device labels.
Open the generator βTurn a CSV β or a numbered sequence β into hundreds of barcodes at once, exported as a ZIP of images or a print-ready PDF sheet. Launching with Pro.
The browser generator stays free forever. Paid plans are for teams who need bulk output and developers who need the REST API at scale β commercial license included. Tell us what you'd use; early-list members get first access and launch pricing.
What you're using right now
For designers & teams
Priced by requests. Commercial license and self-serve keys included; usage dashboard at launch.
HIBC PAS Code 128 is the same secondary Health Industry Bar Code data message as HIBC PAS Code 39 — a "+" flag character followed by variable data such as lot number, expiration date, serial number, and quantity per the Provider Applications Standard — but encoded in Code 128 for greater data density. As with the LIC message, HIBCC's specification permits PAS data to be encoded in Code 39, Code 128, or 2D symbologies, and manufacturers reach for Code 128 whenever the available label space is too small to comfortably fit the equivalent Code 39 barcode.
PAS messages tend to grow longer than LIC messages once you combine lot number, expiration date, and sometimes a serial number and quantity in a single string, which makes symbology density especially important here. Code 128's tighter character encoding keeps that combined string from ballooning the barcode's physical width, which matters most on small pharmaceutical vials, single-use device pouches, and unit-of-use packaging where there simply isn't room for a wide Code 39 symbol carrying the same information. Manufacturers printing PAS data on constrained packaging increasingly default to Code 128 for this reason, reserving Code 39 for larger cartons or legacy label formats.
Just like its Code 39 counterpart, an HIBC PAS Code 128 barcode is designed to be printed and scanned alongside a primary LIC message, linked by a shared link character so scanning software can associate the variable lot, expiration, and serial data with the correct fixed product identity. The two barcodes don't need to use the same symbology — a manufacturer might print a LIC message in Code 39 on a larger carton and a PAS message in Code 128 on the smaller unit-of-use item inside it — but they must be readable together by whatever system consumes them downstream, whether that's hospital receiving, pharmacy dispensing, or point-of-use scanning at the bedside.
Like HIBC PAS Code 39, a PAS Code 128 message follows the HIBCC Supplier Labeling Standard's own field structure rather than GS1 Application Identifiers — it packs lot or batch number, expiration date, and optionally manufacturing date, quantity, or serial number using fixed field-order conventions rather than delimited AI syntax. The message begins with the "+" flag character and ends with a HIBC check character computed with a modulo-43 algorithm before being encoded in the Code 128 symbology, using Code 128's own start/stop patterns and internal check character on top of the HIBC-level check. There's no fixed physical size mandated beyond standard Code 128 quiet zone and X-dimension guidance; the whole point of choosing Code 128 here is to shrink that footprint relative to Code 39 for the same data.
HIBC PAS Code 128 appears on compact pharmaceutical packaging, single-dose vials, implantable device pouches, and diagnostic test kits where lot and expiration tracking is required but label space is at a premium. Hospital pharmacy systems and point-of-use scanning stations rely on these labels for expiration checking and lot-level recall traceability, particularly for high-value or implantable items where knowing the exact lot and serial number used on a specific patient is a patient-safety requirement, not just an inventory convenience.
Select HIBC PAS Code 128 from the Linear Barcode list, then enter your HIBC-formatted secondary data string starting with the "+" flag character, followed by lot number, expiration date, and any serial or quantity data, for example +$1015Z251231. Barcode Mint calculates and appends the HIBC check character automatically. From there you can:
/barcode?type=hibcpascode128&data=+$1015Z251231 — to generate labels from your labeling systemVerify date and lot fields carefully before mass printing — errors in a PAS message have direct patient-safety consequences if they cause a scanning system to miscalculate expiration status. Keep the required Code 128 quiet zone intact even under space pressure, since crowding a compact PAS barcode too close to text or a linked LIC symbol is a common cause of misreads on small packaging. When both a LIC and PAS message appear on the same label, print them with clearly separated quiet zones and test with the actual scanner hardware used at your point of care or point of receiving before finalizing the label design.
Because a PAS message's lot number and expiration date change with every production batch, generating it well usually means integrating directly with whatever system tracks batch records — a manufacturing execution system, ERP, or dedicated labeling software — rather than manually typing each new lot into a barcode generator by hand. Barcode Mint's REST API is built for exactly this: a production line or packaging system can call the API automatically each time a new lot starts, passing the current lot number and expiration date as the data parameter and receiving a print-ready barcode image back, with no manual data entry step to introduce a transcription error.
For smaller manufacturers without that level of system integration, the CSV bulk-upload workflow is a reasonable middle ground: export lot and expiration data from a spreadsheet or batch record system, upload it to Barcode Mint, and generate an entire run of PAS labels for a production batch in one pass rather than one barcode at a time.