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
Create a one-track Pharmacode barcode, encoding a single number from 3 to 131070, for pharmaceutical packaging line control.
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.
Pharmacode, also called Pharmaceutical Binary Code, is a simple linear barcode developed by Laetus specifically for the pharmaceutical packaging industry. Unlike retail barcodes such as EAN or UPC, Pharmacode isn't designed to identify a product to a customer or point-of-sale system — it exists purely as a machine-readable control code used on packaging production lines to verify that the correct folding carton, leaflet, or blister pack is present before a package moves to the next stage. Because of this narrow, functional purpose, Pharmacode encodes a single number rather than any structured product data.
That narrow purpose is also what makes Pharmacode useful: a packaging line generating thousands of cartons per hour needs a decode that happens in milliseconds with a sensor mounted directly over the conveyor, not a full barcode scanner reading a structured product record. A Pharmacode generator like Barcode Mint's is aimed at the people who design that packaging artwork — packaging engineers, print vendors, and QA teams — who need to produce a specific numeric control value quickly and accurately without manually calculating bar widths by hand.
Pharmacode (the one-track variant) represents a number using a sequence of wide and narrow bars, where a narrow bar represents a binary 0 and a wide bar represents a binary 1, read left to right with the bars increasing in place value. Every valid number in the supported range maps to a unique sequence of 2 to 16 bars, with the shortest and longest bar sequences corresponding to the minimum and maximum encodable values. There is no check digit and no human-readable text convention built into the standard — Pharmacode is read purely as a bar-width pattern by dedicated packaging-line sensors, which is sufficient for its role as a simple pass/fail verification signal rather than a data carrier.
Because the encoding is a direct binary mapping rather than a lookup table of assigned character values, any integer in the valid range produces exactly one bar pattern, and any bar pattern decodes to exactly one integer. That one-to-one mapping is part of why Pharmacode is so fast to generate and verify: there's no character set to look up, no start/stop pattern to parse, and no separate data field structure to interpret — just a direct translation between a number and a sequence of bar widths.
One-track Pharmacode encodes a single integer from 3 to 131070 — values outside that range cannot be represented in the standard bar-width encoding. The symbol is built from 2 to 16 bars of two widths (narrow = 0, wide = 1), with no spaces carrying data and no check digit of any kind. There's no official governing standards body for Pharmacode the way GS1 governs EAN/UPC; it's a de facto industry standard originated by Laetus and adopted broadly across pharmaceutical packaging line equipment because of its simplicity and low decode latency, which matters on high-speed packaging lines.
Because there's no formal specification body, exact print tolerances — minimum bar width, height, and quiet zone — are typically set by the specific packaging-line sensor hardware in use rather than a universal published standard. That means two different packaging lines from two different equipment vendors may expect slightly different physical dimensions for what is functionally the same Pharmacode value, so it's worth confirming your line's sensor documentation rather than assuming a generic Pharmacode template will work everywhere.
Pharmacode's use is concentrated almost entirely in pharmaceutical (and some cosmetics) packaging production: on folding cartons, blister packs, and package inserts, printed specifically so that automated packaging-line sensors can confirm the right component is in the right place before sealing or further processing. It's a production-line quality-control mechanism rather than a customer-facing or pharmacy-facing code — the final retail package typically also carries a separate product identification barcode (like GS1 DataMatrix, PZN, or a national pharma code) alongside or instead of a visible Pharmacode, since Pharmacode itself carries no product information a pharmacist or patient would need.
In practice, a single packaging line might use Pharmacode at several checkpoints: confirming a leaflet has been correctly folded and inserted, verifying that a blister pack matches the carton it's being sealed into, or triggering a reject mechanism when a sensor fails to detect a valid pattern at all. Because these checks happen at production speed, Pharmacode's simplicity is a feature rather than a limitation for this specific use case.
Select Pharmacode from the symbology list on the left, then enter a number between 3 and 131070. From there you can:
/barcode?type=pharmacode&data=12345 — to generate codes programmatically from a packaging-line configuration systemBecause Pharmacode typically isn't meant to be human-readable, most packaging artwork omits text below the bars — check your packaging line's sensor specification for exact bar width, height, and quiet zone tolerances before finalizing artwork. The live preview updates instantly as you type or adjust settings, so you can confirm the bar pattern visually before exporting production-ready files, and the SVG export is particularly useful when handing artwork off to a packaging print vendor who needs a vector file rather than a fixed-resolution image.
Pharmacode is read by dedicated optical sensors on packaging lines, not general-purpose barcode scanners, so tolerances tend to be tighter and equipment-specific. Confirm the exact bar width, height, and print contrast your packaging line's sensor expects — these are usually documented by the equipment manufacturer rather than a public standard. Because there's no check digit, any print defect that changes a bar's apparent width from narrow to wide (or vice versa) will produce a different, but still validly-formatted, number with no error flag — so print consistency and sensor calibration matter more here than in most other barcode types.
Before committing to a full production run, print a short test batch and run it through the actual packaging-line sensor rather than a handheld scanner or phone app, since consumer-grade scanning tools may not replicate the timing and contrast sensitivity of dedicated line equipment. Keep the printing process (ink density, plate wear, substrate consistency) monitored over the run, since Pharmacode's narrow-vs-wide distinction leaves little margin for drift once a print job has been running for hours.
One-track Pharmacode encodes a single number using only bar widths in one row, making it fast to print and read but limited to encoding one integer per symbol. Pharmacode 2-track (also called Two-Track Pharmacode) encodes two independent numbers using bars that extend either above or below a center line, effectively packing two separate Pharmacode-style values into one symbol — commonly used when a packaging line needs to verify two pieces of information at once, such as a product code and a batch or line identifier, without printing two separate control codes. Choose one-track Pharmacode for simple presence/correctness checks, and Pharmacode 2-track when your packaging line's sensor setup is specifically configured to read two values from a single symbol.
Both variants share the same underlying philosophy of prioritizing decode speed and printing simplicity over data richness, and neither is meant to replace the human- and system-readable product identifiers — PZN, GS1 DataMatrix, national pharma codes — that appear elsewhere on the same package. If you're setting up a new packaging line rather than matching existing equipment, confirm with your line manufacturer which variant their sensors are built to read before finalizing artwork.