marcogermani87/filament-captcha

Easy Captcha image integrations for Filament

v2.0.0 2025-08-16 19:27 UTC

README

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

A package to easily include captcha field into Filament forms.

This plugin is based on Gregwar/Captcha package.

Version Compatibility

Plugin Filament Laravel PHP
1.x 3.x 10.x 8.x
1.x 3.x 11.x | 12.x 8.2 | 8.3 | 8.4
2.x 4.x 11.x | 12.x 8.2 | 8.3 | 8.4

Installation

You can install the package via composer:

composer require marcogermani87/filament-captcha

You can publish the config file with:

php artisan vendor:publish --tag="filament-captcha-config"

This is the contents of the published config file:

<?php

use Filament\Support\Enums\ActionSize;

return [

    // optional, default is 5
    // 'length' => 4,

    // optional, default is 'abcdefghijklmnpqrstuvwxyz123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
    // 'charset' => '123456789',

    'width' => 180,

    'height' => 50,

    'background_color' => [255, 255, 255],


    'refresh_button' => [
        'icon' => 'heroicon-o-arrow-path',
        'size' => ActionSize::Medium,
    ],

];

Usage

Register the plugin through your panel service provider:

->plugin(\MarcoGermani87\FilamentCaptcha\FilamentCaptcha::make())

You can include the captcha field like any other filament field.

<?php

use MarcoGermani87\FilamentCookieConsent\Components\CaptchaField;

protected function getForms(): array
{
    return [
        'form' => $this->form(
            $this->makeForm()
                ->schema([
                    ...
                    CaptchaField::make('captcha'),
                ])
                ->statePath('data'),
        ),
    ];
}

Screenshots

Testing

composer test

Changelog

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

Credits

License

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