libqrencode is a C library for generating QR Code symbols from text, binary, and structured data. It provides a core encoding engine that converts input data into QR Code symbols with configurable error correction levels and version settings, and includes a command-line tool for producing QR Code images directly from text or data input.
The library supports multiple encoding modes including numeric, alphabetic, Japanese kanji, and 8-bit binary data, with automatic optimization to select the most efficient mode for a given input string. It can encode arbitrary binary data containing NUL characters, construct custom input streams from multiple data segments, and split large payloads across several linked QR Code symbols using structured append encoding. The library also offers experimental support for generating smaller Micro QR Code symbols for space-constrained applications.
Additional capabilities include bitmap output generation for direct rendering, error correction and version configuration, and the ability to combine multiple QR Code symbols into structured sequences. The library provides version retrieval functionality for compatibility checks.