New

Just launched: Vueblocks, a brand-new search engine for Vue packages! Explore Vueblocks →

dominik-eller/laravel-qr-code

Generate QR Codes
1,003
Install
composer require dominik-eller/laravel-qr-code
Latest Version:v1.3.0
PHP:^8.3
Laravel:12 · 13
Older releases:10 · 11
License:MIT
Last Updated:Jun 22, 2026
Links: GitHub  ·  Packagist
Maintainer: dominik-eller

Generate QR Codes

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

This package allows you to generate QR Codes.

Installation

You can install the package via composer:

composer require dominik-eller/laravel-qr-code

Usage

All QR codes are created via the QrCode facade. Call generate() to get a binary string, or toBase64() to get a data URI ready for use in an <img> tag.

URL

use Deller\QrCode\Facades\QrCode;

$qrCode = QrCode::create(‘url’)
    ->setUrl(‘https://example.com’)
    ->setSize(300)
    ->setColor([0, 0, 0])
    ->setBackgroundColor([255, 255, 255])
    ->setErrorCorrectionLevel(‘H’)
    ->generate();

Text

$qrCode = QrCode::create(‘text’)
    ->setText(‘Hello, World!’)
    ->setSize(300)
    ->generate();

E-Mail

$qrCode = QrCode::create(‘email’)
    ->setEmail(‘contact@example.com’)
    ->setSize(300)
    ->generate();

Opening the QR code encodes a mailto:contact@example.com link.

Phone number

$qrCode = QrCode::create(‘phone’)
    ->setPhoneNumber(‘+43123456789’)
    ->setSize(300)
    ->generate();

Opening the QR code encodes a tel:+43123456789 link.

Wi-Fi

WifiQrCode is not registered by default and must be added first:

use Deller\QrCode\Facades\QrCode;
use Deller\QrCode\Types\WifiQrCode;

QrCode::registerType(‘wifi’, WifiQrCode::class);

$qrCode = QrCode::create(‘wifi’)
    ->setSsid(‘MyNetwork’)
    ->setPassword(‘secret’)
    ->setEncryption(‘WPA’)   // WPA, WEP, or nopass
    ->setSize(300)
    ->generate();

Output formats

The default output format is PNG. Use setFormat() to switch to SVG or EPS:

$svg = QrCode::create(‘url’)
    ->setUrl(‘https://example.com’)
    ->setFormat(‘svg’)
    ->generate();

Base64 data URI

Use toBase64() to embed the QR code directly in HTML:

$dataUri = QrCode::create(‘url’)
    ->setUrl(‘https://example.com’)
    ->toBase64();

// <img src="https://raw.githubusercontent.com/dominik-eller/laravel-qr-code/HEAD/{{ $dataUri }}">

Custom eye colors

The three finder-pattern squares ("eyes") can be colored independently:

$qrCode = QrCode::create(‘url’)
    ->setUrl(‘https://example.com’)
    ->setTopLeftEyeColor([255, 0, 0])
    ->setTopRightEyeColor([0, 0, 255])
    ->setBottomLeftEyeColor([0, 128, 0])
    ->generate();

Custom types

Register your own QR code type by extending QrCode and implementing getData():

use Deller\QrCode\QrCode as BaseQrCode;

class VCardQrCode extends BaseQrCode
{
    public function getData(): string
    {
        return "BEGIN:VCARD\nVERSION:3.0\nFN:Jane Doe\nEND:VCARD";
    }
}

QrCode::registerType(‘vcard’, VCardQrCode::class);

$qrCode = QrCode::create(‘vcard’)->generate();

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please report security vulnerabilities by email to me@dominik-eller.de instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.

Related Packages

doctrine/dbal

Powerful PHP database abstraction layer (DBAL) with many features for database s...

648,266,899 9,701
laravel/framework

The Laravel Framework.

604,216,237 34,982
laravel/tinker

Powerful REPL for the Laravel framework.

512,508,631 7,443
laravel/serializable-closure

Laravel Serializable Closure provides an easy and secure way to serialize closur...

429,221,767 607
nunomaduro/collision

Cli error handling for console/command-line PHP applications.

403,217,078 4,664

Version History

Version Released PHP Laravel License
v1.3.0 ^8.3 ^12.0|^13.0 MIT
v1.2.0 ^8.2 ^11.0|^12.0 MIT
v1.1.0 ^8.2 ^10.0||^11.0 MIT
v1.0.0 ^8.2 ^10.0||^11.0 MIT