chillerlan/php-qrcode
chillerlan/php-qrcode has 2,391 GitHub stars and 324 forks. GitHot measured -1 stars in 24 hours. Last checked 2026-11-07 21:18 UTC. Last push 2026-08-31.
A PHP QR Code generator and reader with a user-friendly API.
What you can do
- Creation of Model 2 QR Codes, Version 1 to 40
- ECC Levels L/M/Q/H supported
- kanji (Japanese, Shift-JIS)
- hanzi (simplified Chinese, GB2312/GB18030) as defined in GBT18284-2000
Measured star growth
- in 24h
- -1
- in 7 days
- Collecting history
- in 15 days
- Collecting history
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
Originalchillerlan/php-qrcode
A PHP QR Code generator based on the implementation by Kazuhiko Arase, namespaced, cleaned up, improved and other stuff. It also features a QR Code reader based on a PHP port of the ZXing library.
Attention: there is now also a javascript port on NPM: @chillerlan/qrcode.
Overview
Features
- Creation of Model 2 QR Codes, Version 1 to 40
- ECC Levels L/M/Q/H supported
- Mixed mode support (encoding modes can be combined within a QR symbol). Supported modes:
- numeric
- alphanumeric
- 8-bit binary
- 13-bit double-byte:
- kanji (Japanese, Shift-JIS)
- hanzi (simplified Chinese, GB2312/GB18030) as defined in GBT18284-2000
- Flexible, easily extensible output modules, built-in support for the following output formats:
- GdImage (raster graphics: avif, bmp, gif, jpeg, png, webp)
- ImageMagick (multiple supported image formats)
- Markup types: SVG, HTML, etc.
- String types: JSON, plain text, etc.
- Encapsulated Postscript (EPS)
- PDF via FPDF
- QR Code reader (via GD and ImageMagick)
Requirements
- PHP 8.4+
ext-mbstring- optional:
ext-gdforQRGdImagebased outputext-imagickwith ImageMagick installedext-fileinforequired byQRImagickoutputsetasign/fpdffor the PDF output moduleintervention/imagefor alternative GD/ImageMagick output
For the QR Code reader, either ext-gd or ext-imagick is required!
Documentation
- The user manual is at https://php-qrcode.readthedocs.io/ (sources)
- An API documentation created with phpDocumentor can be found at https://chillerlan.github.io/php-qrcode/
- The documentation for the
QROptionscontainer is here: chillerlan/php-settings-container - Benchmark results can be found in the
benchmarkbranch
Important: Please use the examples from the branch that matches your installed php-qrcode version (
v5.x,
v6.x,
dev-main
)!
The main (default) branch is the active development for future major versions, and it is most likely incompatible with the latest release versions.
Installation with composer
See the installation guide for more info!
Terminal
composer require chillerlan/php-qrcode
composer.json
{
"require": {
"php": "^8.4",
"chillerlan/php-qrcode": "dev-main#<commit_hash>"
}
}
Note: replace dev-main with a version constraint, e.g. ^6.0 - see releases for valid versions.
Quickstart
We want to encode this URI for a mobile authenticator into a QRcode image:
$data = 'otpauth://totp/test?secret=B3JX4VCVJDVNXNZ5&issuer=chillerlan.net';
// quick and simple:
echo '<img src="'.(new QRCode)->render($data).'" alt="QR Code" />';
Wait, what was that? Please again, slower! See Advanced usage in the manual. Also, have a look in the examples folder for some more usage examples.
Disclaimer!
I don't take responsibility for molten CPUs, misled applications, failed log-ins etc.. Use at your own risk!
License notice
- Parts of this code are ported to PHP from the ZXing project and licensed under the Apache License, Version 2.0.
- The documentation is licensed under the Creative Commons Attribution 4.0 International (CC BY 4.0) License.
Trademark Notice
The word "QR Code" is a registered trademark of DENSO WAVE INCORPORATED
https://www.qrcode.com/en/faq.html#patentH2Title
Anti clanker clause
If your issue reports and pull requests are LLM generated, keep them. I'll prefer to keep my bugs then. I don't want anything to do with the water guzzling, air polluting, brain cooking, confidently lying fascist plagiarism machines. Use your human brain and hands instead.
Explore related projects
ytdl-org/youtube-dl
Command-line program to download videos from YouTube.com and other video sites
141,473 starsexcalidraw/excalidraw
Virtual whiteboard for sketching hand-drawn like diagrams
135,294 starsgodotengine/godot
Godot Engine – Multi-platform 2D and 3D game engine
119,710 starsmrdoob/three.js
JavaScript 3D Library.
117,745 stars