QR Decode
Decode a QR

Local barcode tool

Codabar Generator

Be the first to rate this page.

Create a Codabar/NW-7 label with start and stop characters checked locally.

Generated and read back in this browser. Nothing entered here is uploaded.

Processed locally

Your input stays in this browser.

Ready to verify

Review the result before saving or printing.

No expiry

Static codes keep working without a subscription.

Codabar is framed data

Codabar, also called NW-7 in some settings, is a discrete linear symbology. Its payload must begin and end with one of A, B, C or D. Those guard characters are part of the encoded symbol and tell the reader where the data begins and ends. The inner characters may be digits plus - $ : / . and +. This generator keeps the guards visible so a missing boundary is caught before printing.

Decode the example

A40156B has start guard A, data 40156, and stop guard B. A scanner configuration may return the guards, strip them, or translate them according to its setup; the label alone cannot settle that policy. Record the expected scanner output with the label specification. The browser read-back confirms that the generated SVG contains the same guarded sequence used to make the bars.

Why Codabar survives in specialised workflows

Codabar is associated with older library, blood-bank, photo-finishing and parcel workflows because its character set and wide/narrow patterns are easy to print with simple equipment. That history does not make it a universal choice. New operational identifiers often use Code 128 for density and a broader character set. Use Codabar where the receiving equipment and documented data contract explicitly require it.

Wide and narrow elements carry each character

Each Codabar character is built from alternating bars and spaces with designated wide elements. A reader distinguishes their relative widths, not an arbitrary collection of black stripes. Horizontal stretching can change that ratio; ink spread can close a narrow space; a torn edge can remove a wide bar. SVG preserves the original geometry, but a later print workflow must preserve it too.

Start and stop letters are not decoration

A value such as 40156 has no valid Codabar framing on this page. Adding A and B is not an optional caption: they select actual start/stop patterns. Some institutions standardize a particular pair, while others use all four. Do not change them just to match an old screenshot. The scanner and the downstream field parser must agree on whether the guards are retained in returned data.

Checksums are a local policy

Basic Codabar does not define one mandatory universal check digit in the way a GTIN does. A library or healthcare application may impose a separate check character or a database validation rule. This generator therefore validates the symbol alphabet and guards without inventing a checksum. If a workflow specifies a check rule, apply it before passing the finished guarded value to this page.

Keep its scope distinct from MSI

Codabar accepts guards and punctuation for a framed text-like value. MSI Plessey is digit-oriented and commonly uses one or more mod-10 or mod-11 checks. Both are older linear formats, but their check logic, allowed characters and scanner configuration are not interchangeable. A code that looks readable in a camera preview can still deliver the wrong field to a legacy application.

Proofing a legacy label

Test a production sample with the exact reader model, interface prefix/suffix settings and host software. A scanner may decode the bars but transmit guards that a form does not expect, or omit guards that an integration relies on. Keep quiet zones free of table borders and verify that the printed width is not reduced until wide and narrow elements become ambiguous.

What the generator verifies

Generation and read-back run in the open browser tab. The local check compares the rendered barcode result with the guarded source sequence and reports an error for an illegal symbol or missing guard. It cannot certify blood-bank compatibility, assign a library number, or validate a patient or specimen record; those facts belong to the controlled system that owns the identifier.

Scanner settings are part of the contract

A handheld reader can be configured to enable or disable Codabar, transmit start and stop characters, add a prefix, or suppress a suffix. Those settings are not encoded in the bars. Test a sample label through the actual cable, keyboard wedge or serial integration before replacing a legacy printer. A clean scan into a phone app only demonstrates optical decoding, not compatibility with the host workflow.

Use the intended orientation

Linear labels should be placed so the expected scanner sweep crosses the bars rather than travelling along them. On a curved tube, put the code where the bars remain on the flattest available panel; wrapping a narrow label around the curve changes apparent element width. The allowed characters are deliberately small, so solve a data-capacity problem with the specified alternative symbology rather than squeezing more information into Codabar.

Preserve a plain control label

For troubleshooting, retain one unbranded black-on-white proof beside the production design. If that control reads and the decorated label does not, investigate contrast, quiet zones, print spread and scaling before altering the guarded data. If neither reads, compare the scanner's Codabar setting and returned guard policy with the documented value. This separates optical, configuration and data problems.

Keep the verification boundary clear

The useful final test is a scan through the real legacy application with its configured guard handling. A successful browser rendering proves the selected character pattern, while the production workflow must prove that the correct data reaches the right field.

Enter your values, review the result, then use it with confidence.

Rate this page

Be the first to rate this page.