A QR code generator. PHP 7.4+

4.3.3 2021-11-25 22:38 UTC


A PHP 7.4+ QR Code library based on the implementation by Kazuhiko Arase, namespaced, cleaned up, improved and other stuff.

PHP Version Support Packagist version License CodeCov Scrunitizer CI Packagist downloads
Continuous Integration


See the wiki for advanced documentation. An API documentation created with phpDocumentor can be found at (WIP).


  • PHP 7.4+
    • ext-mbstring
    • optional:


requires composer

via terminal: composer require chillerlan/php-qrcode


	"require": {
		"php": "^7.4",
		"chillerlan/php-qrcode": "dev-main"

Note: replace dev-main with a version constraint, e.g. ^3.2 - see releases for valid versions. For PHP version ...

  • 7.4+ use ^4.3
  • 7.2+ use ^3.4.1 (v3.4.1 also supports PHP8)
  • 7.0+ use ^2.0
  • 5.6+ use ^1.0 (please let PHP 5 die!)

In case you want to keep using dev-main, specify the hash of a commit to avoid running into unforseen issues like so: dev-main#b625396e0752d79747a55205ae7e191eeb459dcd

PSA: PHP 7.0 - 7.3 are EOL and therefore the respective QRCode versions are also no longer supported!


We want to encode this URI for a mobile authenticator into a QRcode image:

$data = 'otpauth://totp/test?secret=B3JX4VCVJDVNXNZ5&';

// quick and simple:
echo '<img src="'.(new QRCode)->render($data).'" alt="QR Code" />';

QR codes are awesome!

Wait, what was that? Please again, slower! See Advanced usage on the wiki.

Framework Integration

Shameless advertising

Hi, please check out my other projects that are way cooler than qrcodes!


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.

Trademark Notice

The word "QR Code" is a registered trademark of DENSO WAVE INCORPORATED