Skip to main content

Create code128 barcodes

Project description


kode256 is a simple library to create Code-128 barcodes. It is a fork of the abandoned code128 package.


Copyright (c) 2016-2020 Brendan Howell

Copyright (c) 2014-2016 Felix Knopf

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License in the LICENSE.txt for more details.

The font used for the captions is ‘Inconsolata’ by Raph Levien, licensed under the SIL Open Font License. See OFL.txt for more details.

What’s New


  • Viewbox for svg
  • Captions


Graphical User Interface


  • optimal codes (use code128C to encode long sequences of digits; lazy switch between Code128A and B)
  • full latin-1 charset is supported
  • no additional libraries needed for svg output
  • output as PIL Image objects (PIL requiered)
  • optional captions under the barcode with human-readable representation of it.
  • command line tool and gui


This is a pure python package, for this the following steps are optional. A copy of the package (folder kode256 in the source archive) in your directory will also work for this specific project. The instructions below ensure that the library is available for every python module and from the command line.

Note, that some Linux Systems use python3 and pip3 to distinguish from their Python2 versions.

For Windwos users without a Python installation there is also a ‘stand-alone’ version available.


  • Python3 (Tested with 3.3 and 3.4, other versions should work, too)
  • setuptools to use the setup script or pip, usually preinstalled
  • optional: PIL, or compatible fork (Pillow is recommended) to save barcodes as raster graphics

Let pip do the work

$ pip install -i kode256 --pre

Windows Users

A convenient graphical installer is provided for the final releases.

build from source

download the zip archive or tarball, extract it and install with (you may need root access):

$ python ./code128-[version]/ install


with Python

import kode256

kode256.image("Hello World").save("Hello World.png")  # with PIL present

with open("Hello World.svg", "w") as f:
        f.write(kode256.svg("Hello World"))

from shell

Code128 provides a command line interface. If you installed the library, simply type

$ code128 "Hello World" "Hello World.svg"

The packet also defines a entry point, so

$ python ~/spam/eggs/kode256 "Hello World" "Hello World.svg"

will work, too.


$ code128w

will start the graphical mode, where you can preview your codes. This needs PIL and tkinter.


Use the Issue Tracker on GitLab to report bugs, request a feature, etc.

If you want to contribute some code, feel free to create a merge request.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for kode256, version 0.4b1
Filename, size File type Python version Upload date Hashes
Filename, size kode256-0.4b1-py2.py3-none-any.whl (75.0 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size (71.3 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page