Skip to content
All articles Back to home

Running a library

How to barcode library books, from numbering to scanning

By Sangam Adhikari · Published 10 October 2026 · 4 min read

Barcodes turn a library’s slowest jobs into one scan: checking out, checking in, and stock checks. Barcoding a collection sounds like a big project, but it’s mostly a matter of making a few decisions once and applying them to every book. Here’s how.

Step 1: Understand what the barcode identifies

A library barcode identifies one physical copy, not a title. If you own three copies of the same book, each gets a different barcode. That’s why you can’t use the ISBN barcode printed on the cover: every copy of that edition carries the same one.

The barcode’s number is usually the copy’s accession number, or a new number linked to it in the catalogue.

Step 2: Choose a numbering scheme

  • Keep existing accession numbers if your books already have them. They’re written in the books and the register, so reuse them.
  • Otherwise, start a sequence: 1, 2, 3 or 000001. A prefix such as LIB or your library’s initials helps if you might ever share records with another library.
  • Never reuse a number, even after a book is lost or withdrawn.

Step 3: Choose a barcode type

Several barcode symbologies are used in libraries:

Type Characters Notes
Code 128 Letters, numbers, symbols Compact and reliable, with a built-in check digit. The usual choice for new systems
Code 39 Upper-case letters, numbers, a few symbols Older and wider; still common
Codabar Numbers and a few symbols Long used by libraries and older library systems

All are read by any ordinary handheld scanner. For a new library, Code 128 is the usual recommendation because it fits more on a small label. If you’re joining a library network, use whatever it uses.

Step 4: Print the labels

You don’t need a special label printer. Standard A4 or letter sheets of self-adhesive labels work in any office printer. Print:

  • the barcode, with the number printed underneath, so a scratched label can still be typed in,
  • optionally the shelf mark and a short title, so a label can’t end up on the wrong book,
  • optionally your library’s name, as a property mark.

Print a test sheet first and scan it before printing hundreds.

Step 5: Stick them on consistently

  • Put the barcode in the same place on every book: top of the back cover, or inside the front cover, are common.
  • Put a clear label protector over it on books that circulate a lot.
  • Don’t cover the title, author, series number or blurb.
  • Match label to book as you go: scan the new label straight away and check it pulls up the right title.

Step 6: Barcode a shelf at a time

Start with the books that circulate most, and work outwards. Books that aren’t barcoded yet can be done when they come back across the desk: scan the member, notice there’s no barcode, label the book, catalogue it, lend it.

Step 7: Choose a scanner

A basic USB handheld scanner is enough for most libraries, and inexpensive. Look for one that:

  • works as a keyboard (often called HID or keyboard wedge mode), so it needs no driver,
  • reads 1D barcodes including Code 128,
  • sends Enter after each scan (the default on most).

A Bluetooth scanner lets you walk to the shelves for stock checks. Scanners with memory can store scans offline and upload them later.

Step 8: Scan at the desk

With barcodes on the books, checkout is: scan the member’s card, scan the book, done. Returns are one scan. Stock checks become a walk along the shelves with a scanner. See our guide to library stock verification.

Doing it with Khulla

Khulla, an open-source library system, handles the whole process:

  • It numbers new copies automatically with a prefix you choose, or keeps the accession numbers you type in.
  • It prints Code 128 labels on A4 sheets in three sticker sizes, with the title, author, shelf mark and library name each optional. Queue labels by scanning, by pasting a list of barcodes, or by adding a whole shelf.
  • It works with any keyboard-mode scanner at checkout, returns and the label screen.

It runs on Windows, Linux and Android, and works offline.

Summary

  1. One barcode per copy, never the ISBN.
  2. Keep existing accession numbers, or start a prefixed sequence and never reuse numbers.
  3. Use Code 128 unless you must match an existing system.
  4. Print on ordinary label sheets, with the number under the bars.
  5. Stick labels in the same place on every book, and check each one scans.
  6. A basic keyboard-mode USB scanner is all you need.

Questions

Which barcode type should a library use?

Code 128 is the usual choice for a new system: it is compact, handles letters and numbers, and every ordinary scanner reads it. Many older library systems use Codabar or Code 39; if you are joining one, match what it uses.

Can I use the book's ISBN barcode instead?

No. The ISBN barcode on the cover identifies the title, so every copy of the same edition has the same one. A library barcode must identify one physical copy, so each copy needs its own number.

What barcode scanner do I need for a library?

A basic USB or Bluetooth handheld scanner that works as a keyboard is enough. It types the number into whatever field is selected and presses Enter. No special driver or software is needed.

Where should the barcode go on a library book?

Pick one place and use it on every book, so staff never have to hunt. Common choices are the top of the back cover or inside the front cover. Avoid covering the title, author or other important information.

Sangam Adhikari

Sangam Adhikari

Flutter Full-Stack Developer

Sangam Adhikari is a Flutter full-stack developer from Nepal and the creator of Khulla Digital Library, which runs on Windows, Linux, Android and the web from one Flutter codebase.

sangamadhikari.com GitHub LinkedIn

Try Khulla in two minutes

Open the demo in a browser: nothing to install, no account to create. When it fits, download Khulla for Windows, Linux or Android.

Download Khulla Open the demo

Want a hand setting it up?

We can install it with you, move your records over from a register or spreadsheet, or add a feature your library needs. Message us on WhatsApp (+977 981-9102869) or email info@sangamadhikari.com. See contact for what to tell us.

More from the blog

  • Choosing software

    How to install free library software on Windows, from download to the first loan

    29 September 2026 · 5 min read

  • Running a library

    The Dewey Decimal system for a small library: a simple guide

    19 September 2026 · 3 min read

  • Running a library

    How to catalogue books in a small library, step by step

    19 September 2026 · 3 min read

Keep reading

  • Library barcode labels Number copies, print Code 128 spine labels, scan at the desk.
  • Library management features Catalogue, lending, holds, fines, members, labels and reports.
  • Library software for Windows An installer for Windows 10 and 11, no admin rights needed.

An open-source library management system that runs on your own machine. खुल्ला is Nepali for “open”.

Product

  • Library management features
  • Offline library software
  • Library software for Windows
  • Library barcode labels

Libraries

  • School library software
  • Small and community libraries
  • Libraries in Nepal

Compare

  • Open-source library software compared
  • Koha alternative
  • OpenBiblio alternative

Project

  • Blog
  • GitHub
  • User manual
  • Contact us
© 2026 Khulla Digital Library contributors Privacy Terms Designed and Developed by Sangam Adhikari | sawongam