Skip to content

Appendix: Barcodes in ReportLab

This is a brief guide the barcodes supported in ReportLab.

Further information on the barcode tag for use in RML

The barcode types supported

TypeInfopngsvg Value
BarcodeCodabar

Used in blood banks, photo labs and FedEx labels.
Encodes 0-9, -$:/.+, and four start/stop characters A-D.

BarcodeCodabar barcode image for value 1234567890 ... ... 1234567890
BarcodeCode11

Used mostly for labelling telecommunications equipment.
It encodes numeric digits.

BarcodeCode11 barcode image for value 1234567890 ... ... 1234567890
BarcodeCode128

Code 128 encodes any number of characters in the ASCII character set.

BarcodeCode128 barcode image for value 1234567890 ... ... 1234567890
BarcodeExtended39

Extended 39 encodes the full ASCII character set by encoding
characters as pairs of Code 39 characters; $, /, % and + are used as
shift characters.

BarcodeExtended39 barcode image for value 1234567890 ... ... 1234567890
BarcodeExtended93

This is a compressed form of Code 39, allowing the full ASCII charset

BarcodeExtended93 barcode image for value 1234567890 ... ... 1234567890
BarcodeFIM("A")BarcodeFIM barcode image for value A ... ... A
BarcodeFIM("B")BarcodeFIM barcode image for value B ... ... B
BarcodeFIM("C")BarcodeFIM barcode image for value C ... ... C
BarcodeFIM("D")


FIM was developed as part of the POSTNET barcoding system.
FIM (Face Identification Marking) is used by the cancelling machines
to sort mail according to whether or not they have bar code
and their postage requirements. There are four types of FIM
called FIM A, FIM B, FIM C, and FIM D.

The four FIM types have the following meanings:
FIM A- Postage required pre-barcoded
FIM B - Postage pre-paid, no bar code exists
FIM C- Postage prepaid prebarcoded
FIM D- Postage required, no bar code exists

BarcodeFIM barcode image for value D ... ... D
BarcodeI2of5

Interleaved 2 of 5 is used in distribution and warehouse industries.

It encodes an even-numbered sequence of numeric digits. There is an optional
module 10 check digit; if including this, the total length must be odd so that
it becomes even after including the check digit. Otherwise the length must be
even. Since the check digit is optional, our library does not check it.

BarcodeI2of5 barcode image for value 1234567890 ... ... 1234567890
BarcodeMSI

MSI is used for inventory control in retail applications.

There are several methods for calculating check digits so we
do not implement one.

BarcodeMSI barcode image for value 1234567890 ... ... 1234567890
BarcodePOSTNET

N/A

BarcodePOSTNET barcode image for value 1234567890 ... ... 1234567890
BarcodeStandard39

Code39 is widely used in non-retail, especially US defence and health.
Allowed characters are 0-9, A-Z (caps only), space, and -.$/+%*.

BarcodeStandard39 barcode image for value 1234567890 ... ... 1234567890
BarcodeStandard93

This is a compressed form of Code 39

BarcodeStandard93 barcode image for value 1234567890 ... ... 1234567890
BarcodeUSPS_4State

N/A

BarcodeUSPS_4State barcode image for value 1234567890 ... ... 1234567890