How to Print Barcode and Spine Labels in Koha

Set up Koha barcode and spine labels: choose a template, create a layout, export a PDF, and print at actual size. Includes a DYMO 40 × 20 mm example.

To print barcode labels in Koha, create a template matching your label stock, create a layout defining the barcode and text, add items to a label batch, export a PDF, and print at 100% / Actual size. You can use a label printer or a standard printer with label sheets. A DYMO LabelWriter is one example; it is not required.

This guide covers item barcode labels, call-number spine labels, and the separate Quick spine label creator. The 40 × 20 mm DYMO example provides PDF-verified starting settings. Printer feeding, alignment, and physical scanning still need to be tested on your own equipment.

Koha setting What it controls
Label template Page dimensions, label dimensions, margins, rows, columns, and gaps
Label layout Barcode encoding, printed fields, font, and barcode scaling
Label batch The existing items whose labels you want to print
Printer profile Corrections for a particular printer’s alignment
Quick spine label preferences Browser-based spine-label text and automatic printing; independent of PDF templates

Before you start

Have the printer model, compatible label stock, exact label dimensions or sheet product number, and workstation driver ready. You also need Koha staff access with the label_creator permission, a barcode scanner, and existing items representing your shortest and longest barcode values. If an administrator has already saved a suitable template and layout, reuse them instead of creating duplicates.

The driver belongs on the printing workstation. Koha generates the PDF on the server; normal PDF printing does not require a printer-specific integration or driver on the Koha server.

1. Confirm your printer and label stock

  1. Choose stock specified for your printer: for example, direct thermal rolls for a compatible thermal printer or laser/inkjet label sheets rated for that printer. Dimensions alone do not establish compatibility.
  2. Install the manufacturer’s driver for the workstation’s operating system and processor, then connect the printer using its supported USB or network connection. Have an administrator available if installation needs elevated permissions.
  3. Load the stock according to the printer’s instructions. For roll printers, confirm that the printer detects label boundaries and advances one label at a time.
  4. Select the exact paper or label format in the driver. If it is not listed, check whether the driver supports a custom size. Resolve media-size and feeding problems with the manufacturer’s test print before adjusting Koha.

Record label width and height, orientation, page size, and printable area. For rolls, distinguish the dimension across the feed slot from the dimension along the feed direction. For sheets, record the number of rows and columns, page-edge margins, and gaps between labels.

2. Create a label template in Koha

Go to More → Cataloging → Tools → Label creator, then select New → Label template. Older Koha versions may place Label creator under Tools. The template describes the physical stock, not the barcode content.

Template setting Roll labels Label sheets
Page dimensions One physical label per PDF page The full sheet, such as A4 or Letter
Label dimensions Exact width and height of one label Exact width and height of one label
Columns and rows 1 column and 1 row Match the sheet’s label grid
Page margins Start from the measured printable area Distance from the sheet edge to the first label
Row and column gaps Usually 0 for one-label PDF pages; the printer handles roll feeding Match the spacing between labels
Text margins Leave room for content and barcode quiet zones Leave room for content and barcode quiet zones
Printer profile Start with No Profile; calibrate after testing Start with No Profile; calibrate after testing

Choose units explicitly and use the same units for all measurements. Give the template a recognizable name including the stock size or product number. Save it, then compare an exported PDF’s page dimensions with the driver media format. Do not use Fit to page to compensate for a mismatched template.

3. Create a barcode or spine-label layout

Select New → Layout. For item barcode labels, choose an encoding supported by both Koha’s exporter and your scanner, then select Only the barcode is printed. Code 39 is a common starting choice when your item identifiers support it. With Code 39, this layout also includes the readable barcode value beneath the bars.

Encode the item’s barcode, preserving letters, punctuation, and leading zeros. Do not substitute the ISBN unless that is the item’s identifier in your catalogue. Leave blank space, called the quiet zone, at both ends of the bars. Do not crop this space away.

Barcode width and height need to be tested for the selected template. In Koha 25.11’s Code 39 exporter, the height is a scaling parameter, not a direct percentage of the finished label height. Use the worked example below only for its stated dimensions, and recheck the PDF after changing size or scaling. A barcode that fits a wide label may become too dense on narrower stock.

For a PDF spine label, choose Only the bibliographic data is printed and enter itemcallnumber under List fields. Start with a readable font, such as Helvetica at 8 points. Enable Split call numbers if you want multiple lines, then check the longest call number against the available height. Combined barcode-and-text layouts need enough room for both.

See the Koha Label creator manual for layout options and supported fields.

4. Add items to a batch and export the PDF

  1. In Label creator, select New → Label batch. Type or scan an existing item barcode and click Add item(s).
  2. Click Export beside an item for the first test, or select Export full batch for several items.
  3. Choose the template and layout you saved. Start at label 1 for a fresh sheet or roll. For a partially used sheet, confirm the starting position and whether your printer permits refeeding it.
  4. Export and download the PDF. Check that its page dimensions match the intended stock and that the full barcode and readable text appear inside each label.

Exporting labels for existing items does not change their stored barcode values. Use the library’s actual identifiers when checking the result.

5. Print at actual size and test scanning

  1. Open the PDF in a desktop reader. Select your printer and the matching paper format. Check orientation in the preview.
  2. Select Actual size or 100%. Turn off Fit, Shrink oversized pages, and multiple-pages-per-sheet options. Print one PDF page per physical label for a roll template, or one PDF page per full sheet for a sheet template.
  3. Print one label first. Scan it into a text field and compare the complete result with Koha’s item barcode, including leading zeros and letter case.
  4. Print 5–10 consecutive labels, including the shortest and longest values you use. For sheets, test positions across the page as well. Check clipping, skipped labels, and alignment drift.
  5. Scan an existing item’s label into Koha’s item search and confirm it finds the correct copy.
  6. Once the tests pass, save the workstation print settings and record the template, layout, stock product number, and any printer-profile adjustments. Keep a successful PDF for comparison.

For constant alignment errors, use a dedicated Printer profile in Label creator. Adjust horizontal or vertical Offset, select the profile in the template, and export a fresh PDF. Creep corrections can help cumulative sheet-alignment errors; leave creep at zero for a one-label template. Fix the page size and scale before calibrating offsets.

Example: DYMO LabelWriter 450 / 450 Turbo, 40 × 20 mm

This example uses a 40 × 20 mm direct thermal roll compatible with the DYMO LabelWriter 450 / 450 Turbo. Confirm its product number and index perforations; DYMO recommends its own branded stock. Install the appropriate DYMO driver on the workstation, load the labels from underneath the roll, fit the spool guide snugly, and align the labels against the left side of the feed slot. Confirm that Feed advances one label at a time. See the DYMO 450-series user guide for loading diagrams.

Create or reuse this template:

Koha template field Value
Template code DYMO450-40X20MM
Units SI Millimeters
Page width and label width 40 each
Page height and label height 20 each
Number of columns and number of rows 1 each
Top and left page margins 0 each
Top text margin 3
Left text margin 2
Gap between columns and gap between rows 0 each
Profile No Profile

Use this layout for the first PDF test:

Koha layout field Starting value
Barcode type (encoding) Code 39, if your barcode values and scanner support it
Layout type Only the barcode is printed
Barcode width 0.90
Barcode height 0.018
Draw guide boxes Off
Font and font size Helvetica, 8
Text justification Centre
Oblique title and split call numbers Off

The width makes the graphic 90% of this label’s width. Use 0.018 for the height on this 20 mm-high template; a value such as 0.35 makes the graphic too tall and clips the barcode. The barcode renderer supplies the readable number; layout font and justification settings apply to bibliographic text when that is included.

These settings were checked with Koha 25.11: eight exported labels, including long alphanumeric barcodes and leading-zero values, rendered within 40 × 20 mm PDF pages and decoded at 300 and 600 dpi. That verifies the PDF output, not physical printer feeding or scanner performance. Select the exact driver format, check orientation, and run the print-and-scan tests above before using a batch.

Quick spine label creator is a separate browser-printing workflow. It does not use Label creator’s PDF template, layout, or printer profile. Its text comes from SpineLabelFormat, while browser print settings and CSS determine presentation.

  1. Ask your administrator to set SpineLabelFormat to <itemcallnumber> if you want only the call number. This shared preference affects other staff using the tool.
  2. Go to More → Cataloging → Tools → Quick spine label creator, enter or scan an item’s barcode, and click View spine label. You can also use Print label in a bibliographic record’s Holdings table when that column is visible.
  3. Click Print this label. To open the print dialog automatically, set SpineLabelAutoPrint to do in system preferences.
  4. Select your printer and stock size. Set scale to 100%, disable browser headers and footers, and check print margins and orientation. Print a sample and confirm the entire call number fits.

If Print label is missing, in Koha 26.05 make the Spine label column visible under Administration → Additional parameters → Table settings → Catalog. In Koha 25.11 and earlier, set SpineLabelShowPrintOnBibDetails to Show. Allow pop-ups for the staff site if the browser blocks the label window.

For font, spacing, and line-break changes, configure quick spine-label CSS, for example through IntranetUserCSS. Changing the PDF template will not alter this browser output. See the quick spine-label manual, system preferences, and Koha 26.05 release notes for the Holdings-column change.

Troubleshoot label printing

Symptom What to check
Labels are rotated, clipped, or too small Match PDF dimensions, driver media size, and orientation. Print at 100%, with no fitting or shrinking.
Roll labels skip or feed blank Check media compatibility, boundary detection, loading, and driver size. Test feeding outside Koha first.
Every label is shifted the same amount Check page size and scale, then calibrate a dedicated printer profile’s offsets.
Sheet alignment gets worse across the page Recheck sheet margins, row/column gaps, and label dimensions before testing profile creep corrections.
Barcode is visible but will not scan Check encoding, exact identifier, clipped bars, quiet zones, print quality, and the longest value. Use wider stock if needed.
Bars are faint or have white gaps Try fresh compatible stock and follow the printer manufacturer’s cleaning instructions.
Quick spine labels ignore the PDF layout Configure SpineLabelFormat, quick-label CSS, and browser print settings instead.

Check label durability

Test adhesion on the actual book covering before labelling the collection. Direct thermal labels can fade with heat, prolonged light exposure, or contact with plasticizers. Ask the supplier about compatible protective covers and expected service life. Store unused stock according to the manufacturer’s instructions. DYMO’s user guide explains thermal-label fading under About labels.

Frequently asked questions

Do I need a DYMO printer to print Koha labels?

No. Koha exports label PDFs that you print using a workstation driver. Use a compatible label printer or a standard printer with suitable label sheets, and match the Koha template to the stock.

Does printing a barcode range create Koha items?

No. Print barcode range generates labels with new numbers but does not create item records or assign barcodes to books. Set the required barcode length for leading zeros, check that the numbers are unused, and assign each barcode to its item before circulation.

Why is my barcode missing or cut off in the PDF?

Check the template dimensions, margins, and barcode scaling before changing the printer. In particular, Koha 25.11’s Code 39 height field is not a direct percentage; the verified 20 mm-high example uses 0.018.

Which Koha tool should I use for spine labels?

Use Label creator for PDF batches with reusable templates and layouts. Use Quick spine label creator for a single call number printed through the browser; it has separate preferences and formatting.

For print-dialog details, see Adobe’s guide to PDF page size and actual-size printing.

Next Steps

More in Koha System

Was this article helpful?

Thanks for your feedback!