Create captcha easily with laravel.

v1.0.0 2015-07-29 11:25 UTC

This package is not auto-updated.

Last update: 2024-06-08 16:26:51 UTC


Working on Laravel 5. French, English and Spanish!!!

Captcha Example


Install with composer :

composer require lucbu\laravelcaptcha dev-master

Just add in the array providers in the file config\app.php:


Publish the package using the command :

php artisan vendor:publish --provider="Lucbu\LaravelCaptcha\CaptchaServiceProvider"


In the file config\lucbu-laravelcaptcha.php there is some parameters that you can modify:

  • length: The length of the captcha (should be an integer)
  • listForbidden: list of letters that won't appear in captcha
  • icon-play: Path to icon image used to display the clicking button to hear the sounds of letters
  • icon-update: Path to icon image used to update the captcha
  • background-color: color of the captcha background (use red green blue notation ['red' => $red, 'green' => $green, 'blue' => $blue])
  • text-color: color of the captcha text (use red green blue notation)
  • grid: Is there a grid behind the letters?
  • space-grid: Space between the line of the grid
  • line: Is there random lines on the captcha?
  • filter-smooth: Apply smooth filter to captcha
  • filter-smooth-level: Level of filter
  • width: width of the captcha image;
  • height: height of the captcha image
  • width-html: width of the image displayed in the view in px
  • height-html: height of the image displayed in the view in px
  • sessionKey: the key used to store the captcha in Session Variable
  • default_language: the language in case we don't find the sounds for the locale


In the form view, just use the following code :


You can validate the fields that has to be fulfill with captcha with the rule lucbularavelcaptcha :

public function rules() {
    return [
        'captcha' => 'required|lucbularavelcaptcha:is_caseSensitive'

You can set the parameters is_caseSensitive as 'true' or 'false', the validation will take care or not of matching the case (false by default).

You can generate a captcha in a controller like this :

<?php namespace App\Http\Controllers;

use Lucbu\LaravelCaptcha\Services\Captcha;

class ExampleController {
    public function exampleFunction(){

The function will create the captcha and store into the session variable.

You can also get just the image using the route lucbu.laravelcaptcha.image or the sound with the route lucbu.laravelcaptcha.sound.

The player used to play the sound is based on HTML5. (<audio> tag)