visavi/captcha

Animated captcha generator

Maintainers

Package info

github.com/visavi/captcha

Homepage

pkg:composer/visavi/captcha

Statistics

Installs: 3 004

Dependents: 2

Suggesters: 0

Stars: 1

Open Issues: 0

v3.1.0 2026-06-14 01:14 UTC

This package is auto-updated.

Last update: 2026-06-14 01:15:17 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License

Examples

Default

example1 example2 example3

Advanced

example4 example5 example6

Mini

example7 example8 example9

Methods

  • getPhrase - Get phrase
  • inline - Get captcha as a base64 data URI (image/gif), ready for an inline <img src>
  • setWidth - Image width, px (Optional, default 150px)
  • setHeight - Image height, px (Optional, default 40px)
  • setTextColor - Text color (Optional)
  • setBackgroundColor - Background color (Optional)
  • setFont - Font path (Optional)
  • setWindowWidth - Window width, px (Optional, default 75px)
  • setPixelPerFrame - Window shift per frame, px (Optional, default 15px)
  • setDelayBetweenFrames - Time between frames, in hundredths of a second (Optional, default 20 = 0.2s)

Code default

header('Content-Type: image/gif');

$captcha = new CaptchaBuilder();
$_SESSION['captcha'] = $captcha->getPhrase();

return $captcha->render();

Code advanced

header('Content-Type: image/gif');

$phrase = new PhraseBuilder();
$phrase = $phrase->getPhrase(5, '1234567890');

$captcha = new CaptchaBuilder($phrase);
$captcha
    ->setWidth(150)
    ->setHeight(50)
    ->setTextColor(0, 0, 0)
    ->setBackgroundColor(255, 255, 255)
    ->setFont('/path-to-font')
    ->setWindowWidth(60)
    ->setPixelPerFrame(15)
    ->setDelayBetweenFrames(20);

$_SESSION['captcha'] = $captcha->getPhrase();

return $captcha->render();

Code inline

No headers needed — the captcha is embedded straight into the page:

$captcha = new CaptchaBuilder();
$_SESSION['captcha'] = $captcha->getPhrase();

echo '<img src="' . $captcha->inline() . '" alt="captcha">';

Installation

composer require visavi/captcha

License

The class is open-sourced software licensed under the MIT license