This is the homepage of both the Zint and OkapiBarcode projects. Both projects are intended to provide open source implementations for encoding data in a range of barcode symbologies, and the two projects share a great deal of their underlying code. The symbologies currently supported are:

  • Australia Post variants:
    • Standard Customer
    • Reply Paid
    • Routing
    • Redirection
  • Aztec Code
  • Aztec Runes
  • Channel Code
  • Codabar
  • Codablock F
  • Code 11
  • Code 128 with automatic subset switching
  • Code 16k
  • Code 2 of 5 variants:
    • Matrix 2 of 5
    • Industrial 2 of 5
    • IATA 2 of 5
    • Datalogic 2 of 5
    • Interleaved 2 of 5
    • ITF-14
    • Deutsche Post Leitcode
    • Deutsche Post Identcode
  • Code 32 (Italian pharmacode)
  • Code 3 of 9 (Code 39)
  • Code 3 of 9 Extended (Code 39 Extended)
  • Code 49
  • Code 93
  • Code One
  • Data Matrix ECC200
  • DotCode
  • Dutch Post KIX Code
  • EAN variants:
    • EAN-13
    • EAN-8
  • Grid Matrix
  • GS1 DataBar variants:
    • GS1 DataBar
    • GS1 DataBar Stacked
    • GS1 DataBar Stacked Omnidirectional
    • GS1 DataBar Expanded
    • GS1 DataBar Expanded Stacked
    • GS1 DataBar Limited
  • Han Xin
  • Japan Post
  • Korea Post
  • MaxiCode
  • MSI (Modified Plessey)
  • PDF417 variants:
    • PDF417 Truncated
    • PDF417
    • Micro PDF417
  • Pharmacode
  • Pharmacode Two-Track
  • QR Code
  • Royal Mail 4 State (RM4SCC)
  • Telepen
  • UPC variants:
    • UPC-A
    • UPC-E
  • USPS OneCode (Intelligent Mail)

Both projects are under active development, and bug reports or code improvements are very welcome.

Differences between Zint and OkapiBarcode

The main difference between the two programs is that Zint is written entirely in C, whereas OkapiBarcode is written in Java. Porting the code to Java allows the program to be deployed on different architectures more easily, as well as allowing certain features to be added more easily than in C. OkapiBarcode is a relatively new program, having been started in 2014, whereas Zint was started in 2006. The table below compares the two:

Zint OkapiBarcode
Programming language C (with C++ and Qt) Java
Main repository SourceForge Github
Current version 2.5.1 0.1 beta
Developed since 2006 2014
Dependencies (for compiling) libpng, libQt JCommander
Encodable data Any Unicode input Any Unicode input
Output formats EPS, PNG, SVG, BMP, GIF and PCX EPS, PNG, SVG, BMP and JPEG
License Mixture of BSD and GPLv3+ Apache version 2.0
Available binaries Microsoft Windows Not yet released

Latest News

The current version of Zint (version 2.5.1) was released in 2016. Features added recently included two new symbologies: Han Xin code and DotCode, support for outputting images to BMP, GIF and PCX files and broader language support using ECI codes.

Support for Qt5 is planned to be included with the next release along with TIFF and EMF file output.

Source Code

Zint https://sourceforge.net/projects/zint/
OkapiBarcode https://github.com/woo-j/OkapiBarcode

Additional Resources

The manual for Zint, which include information on compiling and running the program as well as accessing the encoding library API can be accessed online here. A release history is also available with an archive of the source code of all previous versions of the software.

In addition the following resources encompass or are based on Zint.

gLabels now has support for the Zint Libraries. Download at gLabels.org

Try online at barcode-generator.org powered by Zint.