Welcome

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
  • 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
  • Japan Post
  • Korea Post
  • LOGMARS
  • MaxiCode
  • MSI (Modified Plessey)
  • PDF417 variants:
    • PDF417 Truncated
    • PDF417
    • Micro PDF417
  • Pharmacode
  • Pharmacode Two-Track
  • POSTNET / PLANET
  • 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.4 0.1 beta
Developed since 2006 2014
Dependencies (for compiling) libpng, libQt JCommander
Encodable data ISO 8859-1 (Latin-1) characters only Any Unicode input
Output formats EPS, PNG and SVG 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.4) was released in 2011. Since then the project has been in a dormant state, but work is now being done to mark the 10th anniversary of the project with a new release, which will comprise version 2.5. Work is also being done on OkapiBarcode with the hope of reaching release 1.0 for the same date. The 10th anniversary will be 13th November 2016.

The code is currently undergoing a thorough review, including many bugfixes and minor improvements, and this website is also undergoing an overhaul in preparation for the new releases, so watch this space!

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.