# fukuchi/libqrencode

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/fukuchi-libqrencode).**

2,873 stars · 616 forks · C · lgpl-2.1

## Links

- GitHub: https://github.com/fukuchi/libqrencode
- Homepage: https://fukuchi.org/works/qrencode/
- awesome-repositories: https://awesome-repositories.com/repository/fukuchi-libqrencode.md

## Description

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.

## Tags

### Graphics & Multimedia

- [QR Code Generators](https://awesome-repositories.com/f/graphics-multimedia/qr-code-generators.md) — Provides a C library that generates QR Code bitmaps from text, binary, and structured data.
- [Custom Segment Encoders](https://awesome-repositories.com/f/graphics-multimedia/barcode-encoding-modes/custom-segment-encoders.md) — Constructs QR Code input from multiple data segments, each with its own encoding mode and metadata. ([source](https://fukuchi.org/works/qrencode/manual/globals_func.html))
- [QR Code Bitmap Outputs](https://awesome-repositories.com/f/graphics-multimedia/bitmap-rendering/qr-code-bitmap-outputs.md) — Produces raw bitmap images of QR Code symbols for direct rendering by applications. ([source](https://fukuchi.org/works/qrencode/manual/pages.html))
- [Command-Line Generators](https://awesome-repositories.com/f/graphics-multimedia/qr-code-generators/command-line-generators.md) — Ships a command-line tool that produces QR Code images directly from text or data input. ([source](https://cdn.jsdelivr.net/gh/fukuchi/libqrencode@master/README.md))

### Networking & Communication

- [QR Code Encoders](https://awesome-repositories.com/f/networking-communication/binary-data-encoding/qr-code-encoders.md) — C library that generates QR Code symbols from text, binary, and structured data with configurable settings.
- [QR Code Binary Encoders](https://awesome-repositories.com/f/networking-communication/binary-data-encoding/qr-code-binary-encoders.md) — Encodes arbitrary binary data including NUL characters into a QR Code symbol using 8-bit mode. ([source](https://fukuchi.org/works/qrencode/manual/index.html))
- [Multi-Segment Input Encoders](https://awesome-repositories.com/f/networking-communication/binary-data-encoding/qr-code-encoders/multi-segment-input-encoders.md) — Builds QR Code symbols from manually constructed input data composed of multiple segments. ([source](https://fukuchi.org/works/qrencode/manual/index.html))
- [Structured Append Data Encoders](https://awesome-repositories.com/f/networking-communication/binary-data-encoding/qr-code-encoders/structured-append-data-encoders.md) — Splits large payloads across multiple linked QR Code symbols for scanner reassembly. ([source](https://fukuchi.org/works/qrencode/manual/globals_func.html))
- [Structured Append Encoders](https://awesome-repositories.com/f/networking-communication/binary-data-encoding/qr-code-encoders/structured-append-encoders.md) — Links multiple QR Code symbols into structured append sequences for encoding larger data sets. ([source](https://fukuchi.org/works/qrencode/manual/pages.html))
- [Structured Sequence Encoders](https://awesome-repositories.com/f/networking-communication/binary-data-encoding/qr-code-encoders/structured-sequence-encoders.md) — Combines several QR Code symbols into structured sequences for encoding larger data sets. ([source](https://cdn.jsdelivr.net/gh/fukuchi/libqrencode@master/README.md))
- [Symbol Linking Encoders](https://awesome-repositories.com/f/networking-communication/binary-data-encoding/qr-code-encoders/symbol-linking-encoders.md) — Links multiple QR Code symbols in a singly-linked list to represent structured sequences. ([source](https://fukuchi.org/works/qrencode/manual/structQRcode__List.html))

### Part of an Awesome List

- [Multi-Mode Encoders](https://awesome-repositories.com/f/awesome-lists/devtools/qr-codes/kanji-mode-encoders/multi-mode-encoders.md) — Encodes numeric, alphabetic, Japanese kanji, and 8-bit data within QR Code symbols. ([source](https://cdn.jsdelivr.net/gh/fukuchi/libqrencode@master/README.md))
- [Structured Append Libraries](https://awesome-repositories.com/f/awesome-lists/devtools/qr-codes/structured-append-libraries.md) — Ships a structured append feature that splits large payloads across multiple linked QR Code symbols.

### Data & Databases

- [QR Code Data Splittings](https://awesome-repositories.com/f/data-databases/data-backup-utilities/archive-data-splitting/qr-code-data-splittings.md) — Splits large payloads across multiple QR Code symbols for reassembly by scanners. ([source](https://fukuchi.org/works/qrencode/manual/index.html))

### Security & Cryptography

- [QR Code Error Correction Optimizers](https://awesome-repositories.com/f/security-cryptography/error-correction-codes/qr-code-error-correction-optimizers.md) — Sets error correction level and symbol version to control redundancy and data capacity before encoding. ([source](https://fukuchi.org/works/qrencode/manual/globals_func.html))

### Software Engineering & Architecture

- [QR Code Mode Optimizers](https://awesome-repositories.com/f/software-engineering-architecture/string-validation-and-normalization/string-encodings/qr-code-mode-optimizers.md) — Automatically selects the most efficient encoding mode to minimize QR Code symbol size. ([source](https://cdn.jsdelivr.net/gh/fukuchi/libqrencode@master/README.md))
