Bulk Generate Code 128 Barcodes
Learn how to generate thousands of high-density Code 128 barcodes in bulk to label and catalog library books, archives, and document collections.

Internal Tracking vs. ISBN
When managing a university library or cataloging thousands of corporate archives, you need to assign a unique internal barcode to every single book or document.
While every book arrives with an ISBN barcode on the back, that number only identifies the title. If your library owns 5 copies of the same book, you need 5 unique internal barcodes (e.g., LIB-001, LIB-002) to know exactly which specific copy a patron checked out.
The Spine Label Constraint
Because library labels must often fit on the narrow spine of a book, you require a highly compressed barcode. Code 128 is the global standard for library cataloging because of its exceptional data density. It can encode a long, complex internal catalog string into a barcode short enough to fit on a 1-inch sticker.
Generating an Entire Catalog
Generating these labels one by one for an entire library is impossible. Using a Bulk Barcode Generator, you can automate the entire labeling process:
- Export the list of 5,000 new catalog numbers from your Library Management System (LMS).
- Paste the rows into the bulk generator.
- Select "Code 128" as the symbology.
- Export a single PDF document perfectly formatted for standard adhesive sheet labels.
- Print using a standard office laser printer, and hand the sheets to your librarians to peel and apply.
Preparing Your Library Data
Before generating barcodes in bulk, you need to prepare a clean data file. Most Library Management Systems (LMS) like Koha, SirsiDynix, or OCLC WorldShare allow you to export your catalog records as a CSV or Excel file. Here is how to format your data for the best results:
- One barcode value per row: Each row in your spreadsheet should contain exactly one catalog number or accession number (e.g.,
LIB-2024-00001). - Avoid special characters: While Code 128 supports the full ASCII set, avoid using characters like
|,\, or~in your catalog numbers as they can cause scanning issues in older barcode readers. - Keep it consistent: Use a uniform prefix and numbering scheme across your entire collection. For example,
MAIN-00001throughMAIN-99999for the main branch, andREF-00001for the reference section. - Include human-readable text: When generating labels, enable the human-readable text option below the barcode. This allows staff to manually look up the item if a scanner is unavailable.
Why Code 128 Over Code 39 for Libraries?
Many older library systems still use Code 39 barcodes, but Code 128 is the modern standard for several important reasons:
| Feature | Code 128 | Code 39 |
|---|---|---|
| Data Density | High — compact symbols | Low — wide symbols |
| Character Support | Full ASCII (128 chars) | A-Z, 0-9, 7 symbols |
| Check Digit | Mandatory (Modulo 103) | Optional |
| Lowercase Letters | ✅ Supported | ❌ Not supported |
| Physical Size (10 chars) | ~1.2 inches | ~2.5 inches |
| Best For | Book spines, small labels | Wide labels, asset tags |
As the table shows, a Code 128 barcode encoding the same data will be roughly 50% shorter than a Code 39 barcode. This is critical for library book spines where label space is measured in centimeters. If your library is still using Code 39, migrating to Code 128 will allow you to fit longer catalog numbers on your spine labels without increasing the sticker size.
Label Sizing and Placement Tips
For optimal scanning reliability on library book spines, follow these guidelines:
- Minimum barcode height: 10mm (0.4 inches). Taller barcodes scan more reliably at odd angles common on library shelves.
- Quiet zone: Ensure at least 5mm of blank space on each side of the barcode. Without this "quiet zone," scanners may fail to read the barcode.
- Label position: Place the barcode 25mm (1 inch) from the bottom of the spine for consistency across your collection. This makes shelf-scanning significantly faster.
- Label material: Use matte-finish adhesive labels. Glossy labels cause glare that interferes with laser barcode scanners commonly used in libraries.