ashus/phpqrcode

PHP QRCode Generator Library, compatible with PHP 8.0 - 8.5

Maintainers

Package info

github.com/Ashus/PHPQRCode

pkg:composer/ashus/phpqrcode

Transparency log

Statistics

Installs: 1 094

Dependents: 0

Suggesters: 0

Stars: 1

v1.1.1 2026-07-24 10:53 UTC

This package is auto-updated.

Last update: 2026-07-24 10:53:25 UTC


README

Installation

composer require ashus/phpqrcode

Generate a PNG file

\PHPQRCode\QRcode::png(
    text: 'Test',
    outfile: '/tmp/qrcode.png',
    level: \PHPQRCode\Constants::QR_ECLEVEL_L,
    size: 4,
    margin: 2,
);

The call writes a PNG QR code containing Test to /tmp/qrcode.png. Omit outfile to send the Content-Type: image/png HTTP header and PNG data directly to the output.

Get PNG data in memory

Use pngString() when the PNG should be returned instead of written or sent to the output:

$png = \PHPQRCode\QRcode::pngString(
    text: 'Test',
    level: \PHPQRCode\Constants::QR_ECLEVEL_L,
    size: 4,
    margin: 2,
);

$png contains the binary PNG data. This method does not send HTTP headers or produce output.

Error correction level

Pass one of the numeric constants from \PHPQRCode\Constants, for example Constants::QR_ECLEVEL_L. The methods also accept the strings L, M, Q, and H in either case.

Size and margin

size is the number of pixels used for one QR-code module. It defaults to 3 and has a minimum of 1.

margin is the width of the empty border around the QR code, measured in modules rather than pixels. It defaults to 4 and has a minimum of 0.

The generated image is also constrained by Constants::QR_PNG_MAXIMUM_SIZE (default 1024 pixels), so a requested size may be reduced for large QR codes.

Acknowledgements

This library is an import of PHP QR Code by Dominik Dzienia that you can find at http://phpqrcode.sourceforge.net

Based on C libqrencode library (ver. 3.1.1), Copyright (C) 2006-2010 by Kentaro Fukuchi http://megaui.net/fukuchi/works/qrencode/index.en.html

QR Code is registered trademarks of DENSO WAVE INCORPORATED in JAPAN and other countries.

Reed-Solomon code encoder is written by Phil Karn, KA9Q. Copyright (C) 2002, 2003, 2004, 2006 Phil Karn, KA9Q