PHPackages                             emuniq/filament-qr-scanner - 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. emuniq/filament-qr-scanner

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

emuniq/filament-qr-scanner
==========================

A Filament v3 &amp; v4 plugin for HTML5 QR/barcode camera scanning with multi-camera support, permission handling, and Livewire integration.

00Blade

Since Mar 30Pushed 3mo agoCompare

[ Source](https://github.com/isach5/filament-qr-scanner)[ Packagist](https://packagist.org/packages/emuniq/filament-qr-scanner)[ RSS](/packages/emuniq-filament-qr-scanner/feed)WikiDiscussions main Synced 4w ago

READMEChangelogDependenciesVersions (1)Used By (0)

Filament QR Scanner
===================

[](#filament-qr-scanner)

A Filament v3 &amp; v4 plugin for HTML5 QR/barcode camera scanning. Opens a Filament modal with live camera feed, supports multi-camera switching, handles permissions gracefully, and integrates directly with Livewire.

Features
--------

[](#features)

- **Zero configuration** - works out of the box
- **Multi-camera support** - switch between front/back cameras
- **Permission handling** - friendly help messages when camera is denied
- **Livewire integration** - scanned value sent directly to your component
- **Filament native** - uses Filament modals, buttons, and styling
- **Dark mode** support
- **Localized** - English and Spanish included, easily extendable
- **Mobile ready** - iOS Safari, Android Chrome, desktop browsers
- **Camera persistence** - remembers last selected camera via localStorage

Requirements
------------

[](#requirements)

- PHP 8.1+
- Laravel 10.0+
- Filament 3.0+ or 4.0+

Installation
------------

[](#installation)

```
composer require emuniq/filament-qr-scanner
```

That's it! The plugin auto-registers to all Filament panels.

Usage
-----

[](#usage)

### Basic

[](#basic)

Add the component to any Livewire/Filament page:

```

```

Then in your Livewire component:

```
public string $scanInput = '';

public function processScan(): void
{
    $qr = trim($this->scanInput);
    $this->scanInput = '';

    // Do something with $qr...
}
```

### Custom Props

[](#custom-props)

```

```

### Available Props

[](#available-props)

PropDefaultDescription`wire-model``scanInput`Livewire property to receive scanned value`wire-action``processScan`Livewire method called after scan`button-label``Scan QR`Button text (auto-translated)`button-color``primary`Filament button color`button-size``lg`Filament button size`modal-heading``Scan QR Code`Modal title (auto-translated)`fps``10`Scanner frames per second`qrbox-size``250`QR scanning area in pixelsTranslations
------------

[](#translations)

English and Spanish are included. To add your own:

```
php artisan vendor:publish --tag=filament-qr-scanner-translations
```

Then edit `lang/vendor/filament-qr-scanner/{locale}/scanner.php`.

How It Works
------------

[](#how-it-works)

1. User clicks the camera button
2. Requests camera permission (with fallback constraints)
3. Opens a Filament modal with live camera feed
4. On successful scan, sets the Livewire property and calls the action
5. Automatically stops camera and closes modal

Uses [html5-qrcode](https://github.com/mebjas/html5-qrcode) v2.3.8 loaded on demand via `x-load-js`.

Browser Support
---------------

[](#browser-support)

- Chrome/Chromium (Desktop &amp; Android)
- Safari (iOS &amp; macOS)
- Firefox
- Edge

License
-------

[](#license)

MIT

###  Health Score

18

—

LowBetter than 8% of packages

Maintenance55

Moderate activity, may be stable

Popularity0

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity12

Early-stage or recently created project

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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/227872768d209b013c1c0f320fc5144efc2bf537313ee299cbd4a5f8ee2a097b?d=identicon)[isach5](/maintainers/isach5)

### Embed Badge

![Health badge](/badges/emuniq-filament-qr-scanner/health.svg)

```
[![Health](https://phpackages.com/badges/emuniq-filament-qr-scanner/health.svg)](https://phpackages.com/packages/emuniq-filament-qr-scanner)
```

###  Alternatives

[nahid/qarray

QArray is a PHP abstraction for querying array

108411.1k2](/packages/nahid-qarray)[smithfield-studio/acf-svg-icon-picker

Add ACF field for selecting SVG icons.

3912.1k](/packages/smithfield-studio-acf-svg-icon-picker)[luilliarcec/laravel-username-generator

Laravel Username Generator is a package that allows the versatile generation of user names, has a simple integration with Laravel.

1012.0k](/packages/luilliarcec-laravel-username-generator)

PHPackages © 2026

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