A PHP library for generating and reading QR codes with a flexible, user-friendly API and multiple output formats.
chillerlan/php-qrcode is a PHP library for generating and reading QR codes. It provides a robust solution for creating QR codes in various formats (like images, SVG, PDF) and decoding existing ones, based on improved versions of the Kazuhiko Arase generator and ZXing decoder. It solves the need for a modern, feature-rich QR code toolkit within PHP ecosystems.
PHP developers who need to integrate QR code generation or reading into web applications, APIs, or backend systems, especially those requiring multiple output formats or advanced encoding options.
Developers choose this library for its comprehensive feature set, including both generation and reading, flexible output modules, and a clean, extensible API. It stands out by supporting a wide array of image formats, markup types, and encoding modes while being actively maintained with modern PHP standards.
A PHP QR Code generator and reader with a user-friendly API.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports output in GD/ImageMagick images (PNG, JPEG, WebP), SVG, HTML, JSON, EPS, and PDF via FPDF, as detailed in the README, providing unmatched versatility for diverse use cases.
Includes both QR code creation based on Kazuhiko Arase's algorithm and reading via a ZXing port, offering a complete toolkit without needing separate libraries.
Features a clean, namespaced architecture with a settings container (QROptions) that allows for custom output modules and easy integration, promoting maintainability.
Supports mixed encoding modes, ECI for binary data, and error correction up to level H, enabling robust QR codes for international text like Japanese kanji or Chinese hanzi.
Core functionality relies on PHP extensions like GD or ImageMagick, and optional features need FPDF or Intervention Image, creating deployment hurdles in restricted environments.
The README warns that the main branch is for development and examples must match specific versions, leading to potential incompatibility and confusion for users.
Requires careful management of PHP extensions and dependencies, adding steps compared to simpler QR code libraries that work out-of-the-box.