PHPackages                             rdx/text-captcha - 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. rdx/text-captcha

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

rdx/text-captcha
================

1.1(7y ago)020[6 issues](https://github.com/rudiedirkx/text-captcha/issues)MITPHP

Since Jan 3Pushed 6y agoCompare

[ Source](https://github.com/rudiedirkx/text-captcha)[ Packagist](https://packagist.org/packages/rdx/text-captcha)[ RSS](/packages/rdx-text-captcha/feed)WikiDiscussions master Synced 4w ago

READMEChangelogDependenciesVersions (3)Used By (0)

Text captcha
============

[](#text-captcha)

Create a captcha maker
----------------------

[](#create-a-captcha-maker)

Without any config:

```
$maker = CaptchaMaker::createLocal('en'); // or 'nl'

```

With some custimization:

```
$maker = new CaptchaMaker();
$maker->add(new ArithmeticCaptcha(new ArithmeticTranslatorLocal(__DIR__ . "/lang/arithmetic-$lang.php")), 10);
$maker->add(new WordListCaptcha(new WordListTranslatorLocal(__DIR__ . "/lang/wordlist-$lang.php")), 20);

```

`10` and `20` for a `10:20` chance of an `ArithmeticCaptcha`. You can decide which captcha's to use more. Selection is random, but you decice the relative chance.

Create a random captcha
-----------------------

[](#create-a-random-captcha)

Of a random type:

```
$captcha = $maker->make();

```

Or create the type explicitly, and then the captcha:

```
$type = $maker->random();
$captcha = $type->make();

```

Translations
------------

[](#translations)

`nl` and `en` (US) are included. You can add your own language files and select them easily, by manually adding captcha types with translators.

Or you can get translations from anywhere else, by implementing the correct translators (every captcha type has one), and passing it to the captcha type.

Examples
--------

[](#examples)

- In the list list apple mango arm banana pink horse what's the third fruit?
    - banana
- What's the first color in monkey head mango arm blue cow?
    - blue
- Of list head banana cow kiwi yellow monkey what's the first body part?
    - head
- What is eleven plus zero?
    - 11
    - eleven
- three plus eleven = ?
    - 14
    - fourteen
- Calculate twelve minus seven.
    - 5
    - five

See `demo.php` for making captchas and `lang/*` for translations.

###  Health Score

27

—

LowBetter than 46% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity63

Established project with proven stability

 Bus Factor1

Top contributor holds 100% 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 ~0 days

Total

2

Last Release

2779d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/78549c1dc5c83ec0201c9afc66762c6d5bbf770291b12bae5a7a65350f950dba?d=identicon)[rudiedirkx](/maintainers/rudiedirkx)

---

Top Contributors

[![rudiedirkx](https://avatars.githubusercontent.com/u/168024?v=4)](https://github.com/rudiedirkx "rudiedirkx (6 commits)")

### Embed Badge

![Health badge](/badges/rdx-text-captcha/health.svg)

```
[![Health](https://phpackages.com/badges/rdx-text-captcha/health.svg)](https://phpackages.com/packages/rdx-text-captcha)
```

###  Alternatives

[barnetik/ticketbai

Generate, sign and submit TicketBAI compatible invoices

417.5k](/packages/barnetik-ticketbai)[vanilla-thunder/oxid-module-devutils

developer utilities for OXID eShop

1724.2k](/packages/vanilla-thunder-oxid-module-devutils)[eve/dto

Simplistic, flexible Data Transfer Object library

1214.9k](/packages/eve-dto)

PHPackages © 2026

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