Open main menu

< Graphics

How to create barcodes from within ConTeXt (MkIV/LMTX)?

Zint module

  • Download zint from (Windows, Linux) or install it with Homebrew or MacPorts (MacOS).
  • MkIV: The zint executable must be in your PATH.
  • LMTX: LuaMetaTeX uses the library. On Windows, that’s libzint.dll, on Linux and MacOS (on MacOS the actual file name is libzint.dylib, but LuaMetaTeX expects .so).
    • Find that file, it should be in /usr/local/lib (Linux, Homebrew) or /opt/local/lib (MacPorts).
    • Create the path $TEXROOT/tex/texmf-$ARCH/bin/lib/luametatex/zint.
    • Copy or symlink the library into it (on MacOS remember naming it
    • Run mtxrun --generate to update the file database.
\barcode[alternative=isbnx, text=9783865419026, width=4cm]
\barcode[alternative=qrcode, text={}, width=3cm]

Zint can produce about 40 different code types (“alternatives“). Try the name (but lowercase with spaces) or look into the source

Barcodes module

The old module uses PStricks and is deprecated. (Source)


In 2012, Patrick published a small LuaTeX library on Stack Exchange. It can only create EAN codes, but it has no dependencies and doesn’t even use MetaPost.