PHPackages                             tuncaybahadir/quar - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. tuncaybahadir/quar

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

tuncaybahadir/quar
==================

A simple QR Code generation tool for your projects with Laravel 10, 11, 12, 13 versions, php 8.2, 8.3, 8.4 and 8.5

1.8.1(3w ago)79116.7k↓19.7%7[1 issues](https://github.com/tuncaybahadir/quar/issues)2MITPHPPHP &gt;=8.2

Since Mar 17Pushed 3w ago3 watchersCompare

[ Source](https://github.com/tuncaybahadir/quar)[ Packagist](https://packagist.org/packages/tuncaybahadir/quar)[ Docs](https://github.com/tuncaybahadir/quar)[ RSS](/packages/tuncaybahadir-quar/feed)WikiDiscussions main Synced 3d ago

READMEChangelog (10)Dependencies (9)Versions (27)Used By (2)

Qr Code Generator For Laravel
=============================

[](#qr-code-generator-for-laravel)

 [![Latest Stable Version](https://camo.githubusercontent.com/4550457cfb808979b837b0653ddeef5a14490fb78e823ab262c6cec1887f1635/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f74756e636179626168616469722f717561722e7376673f6c6f676f3d7061636b6167697374266c6f676f436f6c6f723d663566356635)](https://packagist.org/packages/tuncaybahadir/quar) [![php](https://camo.githubusercontent.com/64b97c63aad5d3104dd5edf90ec851fba86f6a20d4170929e4a15562a6e32c7d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d382e322532302d2d253230382e332532302d2d253230382e342532302d2d253230382e352d627269676874677265656e2e7376673f6c6f676f3d706870)](https://camo.githubusercontent.com/64b97c63aad5d3104dd5edf90ec851fba86f6a20d4170929e4a15562a6e32c7d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d382e322532302d2d253230382e332532302d2d253230382e342532302d2d253230382e352d627269676874677265656e2e7376673f6c6f676f3d706870) [![Laravel](https://camo.githubusercontent.com/952b5cbe79e467dc4b46ca3bb28c032b4c5d46c8f7a1147c48366b31a774c446/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c61726176656c2d31302532302d2d31312532302d2d25323031322d2d25323031332d626c75652e7376673f6c6f676f3d6c61726176656c)](https://camo.githubusercontent.com/952b5cbe79e467dc4b46ca3bb28c032b4c5d46c8f7a1147c48366b31a774c446/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c61726176656c2d31302532302d2d31312532302d2d25323031322d2d25323031332d626c75652e7376673f6c6f676f3d6c61726176656c) [![Downloads](https://camo.githubusercontent.com/43131e451b61e9708aaf2bd21eaeb90b09926181be2fa441d0b2b1afd81d8df8/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f74756e636179626168616469722f717561722e7376673f6c6f676f3d646f776e)](https://packagist.org/packages/tuncaybahadir/quar) [![License](https://camo.githubusercontent.com/074b89bca64d3edc93a1db6c7e3b1636b874540ba91d66367c0e5e354c56d0ea/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d627269676874677265656e2e737667)](https://camo.githubusercontent.com/074b89bca64d3edc93a1db6c7e3b1636b874540ba91d66367c0e5e354c56d0ea/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d627269676874677265656e2e737667)

Introduction
------------

[](#introduction)

To generate Qr Code with Laravel, Quar references packages provided by [Bacon/BaconQrCode](https://github.com/Bacon/BaconQrCode) and [simplesoftwareio/simple-qrcode](https://github.com/SimpleSoftwareIO/simple-qrcode). The Quar package is a new qr code generation package with compatibility for Laravel 10, Laravel 11, Laravel 12, Laravel 13 and Php 8.2, Php 8.3, Php 8.4, Php 8.5.

---

[![Example 17](docs/images/coffe.png)](https://www.buymeacoffee.com/tuncaybahadir)

---

Minimum Requirements
--------------------

[](#minimum-requirements)

- PHP 8.2+
- Laravel 10+

Installing
----------

[](#installing)

Use Composer to install it:

```
composer require tuncaybahadir/quar

```

Simple usage
------------

[](#simple-usage)

```
use tbQuar\Facades\Quar;

$qr = Quar::generate('Quar package create qr code');
```

And use it in your blade template this way:

```

    {{ $qr }}

```

Simple usage Response
---------------------

[](#simple-usage-response)

[![Example 1](docs/images/example-1.png)](docs/images/example-1.png)

---

Example of Setting Qr Code Size
-------------------------------

[](#example-of-setting-qr-code-size)

```
use tbQuar\Facades\Quar;

$qr = Quar::size(61)
            ->generate('Quar package create qr code');
```

Qr Code Size Response
---------------------

[](#qr-code-size-response)

[![Example 2](docs/images/example-2.png)](docs/images/example-2.png)

---

Example of Setting Qr Code Version
----------------------------------

[](#example-of-setting-qr-code-version)

QR codes have 40 versions (1-40); a higher version provides a larger grid and therefore more data capacity. By default the version is selected automatically based on the content and the error correction level. You may force a specific version with the `version()` method.

Any integer between 1 and 40 is accepted. For readability, `VERSION_1` through `VERSION_40` constants are also available on the `Quar` facade, so `version(13)` and `version(Quar::VERSION_13)` are equivalent.

```
use tbQuar\Facades\Quar;

$qr = Quar::version(13)
            ->generate('Quar package create qr code');

// Equivalent, using the constant
$qr = Quar::version(Quar::VERSION_13)
            ->generate('Quar package create qr code');

$qr = Quar::size(300)
            ->eye('ring')
            ->style('round', 0.9)
            ->version(Quar::VERSION_13)
            ->margin(2)
            ->gradient(20, 192, 241 , 164, 29, 52 , 'vertical')
            ->generate('Quar package create qr code');

$qr = Quar::size(300)
            ->eye('square')
            ->eyeColorFromHex('0', '#710616', '#710616')
            ->eyeColorFromHex('1', '#7ab9e7', '#7ab9e7')
            ->eyeColorFromHex('2', '#fcb811', '#fcb811')
            ->style('round', 0.9)
            ->version(Quar::VERSION_25)
            ->margin(2)
            ->gradient(20, 192, 241 , 164, 29, 52 , 'vertical')
            ->generate('Quar package create qr code');

$qr = Quar::size(500)
            ->margin(2)
            ->version(Quar::VERSION_40)
            ->generate('Version 40 (177×177). Content: "Version 40 QR Code can contain up to 1852 chars ..." (and followed by four paragraphs of ASCII text describing QR codes). The text refers to a QR Code with a "Level H" error correction. Other levels provide higher capacity.');
```

`Attention : The version must be between 1 and 40. If the content does not fit into the requested version, a WriterException is thrown. When version() is not used, the smallest fitting version is selected automatically, exactly as before.`

QR Code Versions Response
-------------------------

[](#qr-code-versions-response)

[![Example 30](docs/images/example-30.png)](docs/images/example-30.png)

[![Example 31](docs/images/example-31.png)](docs/images/example-31.png)

[![Example 32](docs/images/example-32.png)](docs/images/example-32.png)

[![Example 33](docs/images/example-33.png)](docs/images/example-33.png)

---

Example of Setting Qr Code Detection Markers
--------------------------------------------

[](#example-of-setting-qr-code-detection-markers)

Available Markers Type
----------------------

[](#available-markers-type)

- `square`: Default Marker Type
- `rounded`
- `circle`
- `ring`

```
use tbQuar\Facades\Quar;

$qr = Quar::eye('rounded')
            ->generate('Quar package create qr code');
```

Qr Code Markers Response
------------------------

[](#qr-code-markers-response)

[![Example 12](docs/images/example-12.png)](docs/images/example-12.png) [![Example 3](docs/images/example-3.png)](docs/images/example-3.png) [![Example 13](docs/images/example-13.png)](docs/images/example-13.png) [![Example 21](docs/images/example-21.png)](docs/images/example-21.png)

---

Example of Setting Qr Code Body Pattern Style
---------------------------------------------

[](#example-of-setting-qr-code-body-pattern-style)

Available Body Pattern
----------------------

[](#available-body-pattern)

- `square`: Default Pattern
- `dot`
- `round`
- `star`
- `vertigo`

`Attention : The maximum smoothness value for square, dot and round designs is 0.9 and the maximum smoothness value for star and vertigo designs is 0.5.`

```
use tbQuar\Facades\Quar;

$qr = Quar::style('dot', 0.9)
            ->generate('Quar package create qr code');
```

Qr Code Body Pattern Style Response
-----------------------------------

[](#qr-code-body-pattern-style-response)

[![Example 14](docs/images/example-24.png)](docs/images/example-24.png) [![Example 15](docs/images/example-25.png)](docs/images/example-25.png) [![Example 16](docs/images/example-26.png)](docs/images/example-26.png) [![Example 22](docs/images/example-22.png)](docs/images/example-22.png) [![Example 23](docs/images/example-23.png)](docs/images/example-23.png)

---

Example of Setting Qr Code Gradient Coloring
--------------------------------------------

[](#example-of-setting-qr-code-gradient-coloring)

Available Gradient Type
-----------------------

[](#available-gradient-type)

- `vertical`
- `horizontal`
- `diagonal`
- `inverse_diagonal`
- `radial`

```
use tbQuar\Facades\Quar;

$qr = Quar::eye('rounded')
            ->size(161)
            ->gradient(20, 192, 241 , 164, 29, 52 , 'vertical')
            ->generate('Quar package create qr code');
```

Qr Code Gradient Coloring Response
----------------------------------

[](#qr-code-gradient-coloring-response)

[![Example 9](docs/images/example-9.png)](docs/images/example-9.png)

---

Qr Code Coloring Markers Example 1
----------------------------------

[](#qr-code-coloring-markers-example-1)

```
use tbQuar\Facades\Quar;

$qr = Quar::eye('square')
            ->eyeColor(0, 113, 6, 22, 113, 6, 22)
            ->eyeColor(1, 122, 185, 231, 122, 185, 231)
            ->eyeColor(2, 252, 184, 17)
            ->size(161)
            ->generate('Quar package create qr code');
```

Qr Code Coloring Markers Response 1
-----------------------------------

[](#qr-code-coloring-markers-response-1)

[![Example 4](docs/images/example-4.png)](docs/images/example-4.png)

---

Qr Code Hex Code With Coloring Markers Example 2
------------------------------------------------

[](#qr-code-hex-code-with-coloring-markers-example-2)

```
use tbQuar\Facades\Quar;

$qr = Quar::eye('square')
            ->eyeColorFromHex('0', '#710616', '#710616')
            ->eyeColorFromHex('1', '#7ab9e7', '#7ab9e7')
            ->eyeColorFromHex('2', '#fcb811', '#fcb811')
            ->size(161)
            ->generate('Quar package create qr code');
```

Qr Code Hex Code With Coloring Markers Response 2
-------------------------------------------------

[](#qr-code-hex-code-with-coloring-markers-response-2)

[![Example 17](docs/images/example-17.png)](docs/images/example-17.png)

---

Qr Code Coloring Example 1
--------------------------

[](#qr-code-coloring-example-1)

```
use tbQuar\Facades\Quar;

$qr = Quar::color(50, 168, 82)
            ->size(161)
            ->eye('circle')
            ->generate('Quar package create qr code');
```

Qr Code Coloring Response 1
---------------------------

[](#qr-code-coloring-response-1)

[![Example 5](docs/images/example-5.png)](docs/images/example-5.png)

---

Qr Code Hex Code With Coloring Example 2
----------------------------------------

[](#qr-code-hex-code-with-coloring-example-2)

```
use tbQuar\Facades\Quar;

$qr = Quar::color('#32a852')
            ->size(161)
            ->eye('circle')
            ->generate('Quar package create qr code');
```

Qr Code Hex Code With Coloring Response 2
-----------------------------------------

[](#qr-code-hex-code-with-coloring-response-2)

[![Example 18](docs/images/example-18.png)](docs/images/example-18.png)

---

Example Of Coloring Qr Code Background With Hex Code 1
------------------------------------------------------

[](#example-of-coloring-qr-code-background-with-hex-code-1)

```
use tbQuar\Facades\Quar;

$qr = Quar::color('#710616')
            ->backgroundColor('#7ab9e7')
            ->size(261)
            ->eye('circle')
            ->generate('Quar package create qr code');
```

Example Of Coloring Qr Code Background With Hex Code 1
------------------------------------------------------

[](#example-of-coloring-qr-code-background-with-hex-code-1-1)

[![Example 19](docs/images/example-19.png)](docs/images/example-19.png)

---

Example Of Coloring The Background Of Qr Code 2
-----------------------------------------------

[](#example-of-coloring-the-background-of-qr-code-2)

```
use tbQuar\Facades\Quar;

$qr = Quar::color(113, 6, 22)
            ->backgroundColor(122, 185, 231)
            ->size(261)
            ->eye('circle')
            ->generate('Quar package create qr code');
```

Sample Result Of Coloring The Background Of Qr Code Response 2
--------------------------------------------------------------

[](#sample-result-of-coloring-the-background-of-qr-code-response-2)

[![Example 20](docs/images/example-20.png)](docs/images/example-20.png)

---

Qr Code And Markers Coloring Example
------------------------------------

[](#qr-code-and-markers-coloring-example)

```
use tbQuar\Facades\Quar;

$qr = Quar::color(235, 12, 83)
            ->size(161)
            ->eye('rounded')
            ->eyeColor(0, 113, 6, 22, 113, 6, 22)
            ->eyeColor(1, 122, 185, 231, 122, 185, 231)
            ->eyeColor(2, 252, 184, 17)
            ->generate('Quar package create qr code');
```

Qr Code and Marker Coloring Response
------------------------------------

[](#qr-code-and-marker-coloring-response)

[![Example 6](docs/images/example-6.png)](docs/images/example-6.png)

---

Example of Saving Qr Code as a Png File
---------------------------------------

[](#example-of-saving-qr-code-as-a-png-file)

```
use tbQuar\Facades\Quar;

        $qrCodeFileName = md5(random_int(0, 9999999).date('H:i:s d.m.Y')).'_qr_code';
        $qrCodeData = 'Quar package create qr code';
        $qrCodeDirectory = storage_path('app/public/qr-code-images/');

        Quar::format('png')
            ->color(155, 155, 200)
            ->size(200)
            ->eye('rounded')
            ->generate($qrCodeData, $qrCodeDirectory.$qrCodeFileName.'.png');

        $qrCode = url('storage/qr-code-images/'.$qrCodeFileName.'.png');
```

And use it in your blade template this way:

```

```

Saving Qr Code as a File Response
---------------------------------

[](#saving-qr-code-as-a-file-response)

[![Example 7](docs/images/example-7.png)](docs/images/example-7.png) [![Example 8](docs/images/example-8.png)](docs/images/example-8.png)

---

Example of Compressing and Saving a Qr Code as a Png File
---------------------------------------------------------

[](#example-of-compressing-and-saving-a-qr-code-as-a-png-file)

```
use tbQuar\Facades\Quar;

        $qrCodeFileName = md5(random_int(0, 9999999).date('H:i:s d.m.Y')).'_qr_code';
        $qrCodeData = 'Quar package create qr code';
        $qrCodeDirectory = storage_path('app/public/qr-code-images/');

        Quar::format('png')
            ->setPngCompression(50)
            ->color(155, 155, 200)
            ->size(200)
            ->eye('rounded')
            ->generate($qrCodeData, $qrCodeDirectory.$qrCodeFileName.'.png');

        $qrCode = url('storage/qr-code-images/'.$qrCodeFileName.'.png');
```

---

Example of Adding Logo on QR Code
---------------------------------

[](#example-of-adding-logo-on-qr-code)

`Attention !!! : Due to a bug in the BaconQrCode package, you must set the margin value to 1 or higher during logo insertion. Otherwise the qr code is generated incorrectly.`

Example 1:

```
use tbQuar\Facades\Quar;

        $qr = Quar::format('png')
            ->margin(1)
            ->merge(public_path('php.png'), .2, true)
            ->size(400)
            ->generate('Quar package create qr code');

            return view('test', [
                'qrCode' => base64_encode($qr),
            ]);
```

Example 2:

```
use tbQuar\Facades\Quar;

        $qr = Quar::format('png')
            ->margin(1)
            ->eye('rounded')
            ->merge(public_path('php.png'), .3, true)
            ->size(200)
            ->gradient(100, 20, 5 , 7, 9, 12 , 'VERTICAL')
            ->generate('Quar package create qr code');

            return view('test', [
                'qrCode' => base64_encode($qr),
            ]);
```

And use it in your blade template this way:

```

```

Adding Logo on Qr Code Sample Code Result 1:
--------------------------------------------

[](#adding-logo-on-qr-code-sample-code-result-1)

[![Example 10](docs/images/example-10.png)](docs/images/example-10.png)

Adding Logo on Qr Code Sample Code Result 2:
--------------------------------------------

[](#adding-logo-on-qr-code-sample-code-result-2)

[![Example 11](docs/images/example-11.png)](docs/images/example-11.png)

Example of Adding Logo on QR Code with Laravel Conditionable Trait class
------------------------------------------------------------------------

[](#example-of-adding-logo-on-qr-code-with-laravel-conditionable-trait-class)

Example :

```
use tbQuar\Facades\Quar;

        $qr = Quar::format('png')
            ->margin(1)
            ->when(($logo = config('app.company.logo')) && file_exists($logo))
            ->merge($logo, .25, absolute: true)
            ->size(400)
            ->generate('Quar package create qr code', $path);

            return view('test', [
                'qrCode' => base64_encode($qr),
            ]);
```

Adding Text Around a QR Code
----------------------------

[](#adding-text-around-a-qr-code)

Example :

```
use tbQuar\Facades\Quar;

        $qr = Quar::size(300)
            ->withText('Quar Code Package')
            ->generate('Quar package create qr code');
```

Example Result :

[![Example 27](docs/images/example-27.png)](docs/images/example-27.png)

Customizing the Text
--------------------

[](#customizing-the-text)

Example :

```
use tbQuar\Facades\Quar;

        $qr = Quar::size(300)
            ->withText('Quar Code Package')
            ->configureText(function($text) {
                $text->setTextColor('#54ac6e')
                    ->setFontSize(12)
                    ->setPosition('top-right')
                    ->setPadding(25)
                    ->setBackgroundColor('#151521')
                    //->setFont('/path/to/font.ttf')
                    ->setBackgroundOpacity(0.1);
            })
            ->generate('Quar package create qr code');
```

Example Result :

[![Example 28](docs/images/example-28.png)](docs/images/example-28.png)

Available Text Positions
------------------------

[](#available-text-positions)

- `top`,
- `bottom` : Default Position,
- `left`,
- `right`,
- `top-left`,
- `top-right`,
- `bottom-left`,
- `bottom-right`,

Example :

```
use tbQuar\Facades\Quar;

        $qr = Quar::size(300)
            ->withText('🇹🇷 Türkiye 🇹🇷')
            ->configureText(function($text) {
                $text->setTextColor('#ce2026')
                    ->setFontSize(30)
                    ->setPosition('top')
                    ->setBackgroundOpacity(0.1);
            })
            ->generate('Quar package create qr code');
```

Example Result :

[![Example 29](docs/images/example-29.png)](docs/images/example-29.png)

Authors
-------

[](#authors)

- [Tuncay Bahadır](https://github.com/tuncaybahadir)

---

Contributing
------------

[](#contributing)

Pull requests and issues are more than welcome.

###  Health Score

60

—

FairBetter than 98% of packages

Maintenance95

Actively maintained with recent releases

Popularity48

Moderate usage in the ecosystem

Community23

Small or concentrated contributor base

Maturity61

Established project with proven stability

 Bus Factor1

Top contributor holds 50% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~18 days

Recently: every ~49 days

Total

26

Last Release

21d ago

Major Versions

0.0.2 → 1.0.02025-04-10

PHP version history (2 changes)0.0.1PHP &gt;=8.3

1.7.0PHP &gt;=8.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/0f9b9b6cb59daf01fa763001af0c497dd75a5a01d58c171447a2dd109bf9c2bf?d=identicon)[tuncaybahadir](/maintainers/tuncaybahadir)

---

Top Contributors

[![tuncaybahadir](https://avatars.githubusercontent.com/u/1303432?v=4)](https://github.com/tuncaybahadir "tuncaybahadir (3 commits)")[![jasonencode](https://avatars.githubusercontent.com/u/2210843?v=4)](https://github.com/jasonencode "jasonencode (1 commits)")[![jezmck](https://avatars.githubusercontent.com/u/89996?v=4)](https://github.com/jezmck "jezmck (1 commits)")[![undjike](https://avatars.githubusercontent.com/u/57102409?v=4)](https://github.com/undjike "undjike (1 commits)")

---

Tags

phpqrcodeqrlaravellaravel 10laravel 11laravel 12generatorphp 8.2quarphp 8.3php 8.4php 8.5laravel-13

###  Code Quality

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/tuncaybahadir-quar/health.svg)

```
[![Health](https://phpackages.com/badges/tuncaybahadir-quar/health.svg)](https://phpackages.com/packages/tuncaybahadir-quar)
```

###  Alternatives

[akira/laravel-qrcode

A clean, modern, and easy-to-use QR code generator for Laravel

494.8k](/packages/akira-laravel-qrcode)[ip2location/ip2location-laravel

Lookup for visitor's IP information, such as country, region, city, coordinates, zip code, time zone, ISP, domain name, connection type, area code, weather, MCC, MNC, mobile brand name, elevation and usage type.

82548.8k1](/packages/ip2location-ip2location-laravel)[amirezaeb/heroqr

A Powerful QR Code Management Library For PHP

9813.9k](/packages/amirezaeb-heroqr)[goodway/laravel-nats

Nats jetstream queue driver with client for Laravel

345.9k](/packages/goodway-laravel-nats)[linkxtr/laravel-qrcode

A clean, modern, and easy-to-use QR code generator for Laravel

3720.4k](/packages/linkxtr-laravel-qrcode)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
