bitandblack/qr-code

Generates QR Codes

Package info

bitbucket.org/wirbelwild/qr-code

Homepage

Issues

pkg:composer/bitandblack/qr-code

Fund package maintenance!

Buymeacoffee

Statistics

Installs: 3 780

Dependents: 0

Suggesters: 0

1.2.0 2025-03-11 09:27 UTC

Requires

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT 452ac243fe48cab3a560703a9d3893d25dc5d86b

codeqrcodepngqrsvgrgbcmykeps

This package is auto-updated.

Last update: 2026-06-11 12:17:28 UTC


README

👁 PHP from Packagist
👁 Latest Stable Version
👁 Total Downloads
👁 License

Bit&Black QR Code

This library generates QR codes. It's based on endroid/qr-code by Jeroen van den Enden but differs by using bitandblack/colors to allow different color spaces.

Installation

This library is made for the use with Composer. Add it to your project by running $ composer require bitandblack/qr-code.

Usage

<?php 

use BitAndBlack\QrCode\QrCode;

$qrCode = new QrCode('Hello World!');

header('Content-Type: ' . $qrCode->getContentType());

echo $qrCode->writeString();

Advanced usage

<?php 

use Color\Value\RGB;
use BitAndBlack\QrCode\ErrorCorrectionLevel;
use BitAndBlack\QrCode\LabelAlignment;
use BitAndBlack\QrCode\QrCode;
use BitAndBlack\QrCode\Response\QrCodeResponse;

$qrCode = new QrCode('Hello World!');
$qrCode
 ->setSize(300) 
 ->setWriterByName('png') 
 ->setMargin(10) 
 ->setEncoding('UTF-8') 
 ->setErrorCorrectionLevel(
 new ErrorCorrectionLevel(ErrorCorrectionLevel::HIGH())
 ) 
 ->setForegroundColor(
 new RGB(0, 0, 0)
 ) 
 ->setBackgroundColor(
 new RGB(255, 255, 255)
 ) 
 ->setLabel('Scan the code', 16, 'SomeFont.otf', LabelAlignment::CENTER) 
 ->setLogoPath('SomeLogo.png') 
 ->setLogoSize(150, 200) 
 ->setRoundBlockSize(true) 
 ->setValidateResult(false) 
 ->setWriterOptions([
 'exclude_xml_declaration' => true
 ])
;

// Directly output the QR code
header('Content-Type: ' . $qrCode->getContentType());

echo $qrCode->writeString();

// Save it to a file
$qrCode->writeFile(__DIR__ . '/qrcode.png');

// Create a response object
$response = new QrCodeResponse($qrCode);

Help

If you have any questions, feel free to contact us under hello@bitandblack.com.

Further information about Bit&Black can be found under www.bitandblack.com.