skillfed

django-simple-captcha

A very simple, yet powerful, Django captcha application

django-simple-captcha v0.7.0 253.6K downloads/30d#8,515 on PyPI1,422
Permissive license MIT Active released

What it is and what it does

Django Simple Captcha is a form-level security middleware that generates and validates CAPTCHA challenges—typically image-based with text, math problems, or dictionary words—to prevent automated form submission and bot attacks. It integrates directly into Django forms and supports custom challenge generators, noise filters, and image transformations to vary the visual appearance of each challenge.

The package is designed for ease of deployment with sensible defaults but offers extensive customization: you can define your own challenge logic, alter image rendering, and enable optional text-to-speech audio output for accessibility. It depends on Django, Pillow (for image generation), and django-ranged-response; Flite is an optional system dependency for audio output. The package is actively maintained and compatible with Django 4.2+ and Python 3.8+.

Use it for:

  • Protect user registration or login forms from automated account creation and credential stuffing attacks
  • Prevent spam submissions in contact forms, comment systems, or feedback widgets
  • Add accessibility-compliant CAPTCHA with audio alternatives for users who cannot read distorted text
  • Customize challenge types (math, word puzzles, custom logic) for domain-specific bot prevention
  • Implement CAPTCHA with AJAX refresh to let users request new challenges without page reload

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Adds CAPTCHA image challenges to Django forms with customizable text, math, or audio challenges, and supports text-to-speech accessibility.

Yes. Active maintenance, no known vulnerabilities, low install friction, and permissive MIT license make it a safe choice. Install if you need form-level bot protection in Django with customizable challenges and accessibility support. Verify that your environment can satisfy Pillow's FreeType dependency before deployment.

Install

django-simple-captcha on PyPI

pip

pip install django-simple-captcha

uv

uv add django-simple-captcha

poetry

poetry add django-simple-captcha

Installing django-simple-captcha

Before you install

Low friction install with wheel distribution. Active maintenance—last commit 2026-07-30, 15 days old. Depends on Django, Pillow (requires FreeType compilation), and django-ranged-response. Text-to-speech audio requires Flite, but is optional.

License in practice

MIT license (permissive) places no restrictions on use, modification, or distribution in commercial or private projects.

Quickstart

pip install django-simple-captcha

# In Django form:
from captcha.fields import CaptchaField

class MyForm(forms.Form):
    captcha = CaptchaField()

# Render and validate in view as normal Django form

Pillow must be compiled with FreeType support; Flite system library is required only if audio output is enabled

Verify before relying

  • Whether Pillow's FreeType requirement is satisfied by standard pip installs or requires system-level compilation
  • Performance characteristics when handling high-volume form submissions with captcha generation

Package facts

License MIT (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies 3 — Django, Pillow, django-ranged-response
Maintenance actively maintained — 15 days since the last release
Last repo commit
First released
Downloads 253,600/month — #8,515 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: django_simple_captcha-0.7.0-py2.py3-none-any.whl

Development Status :: 4 - BetaEnvironment :: Web EnvironmentFramework :: DjangoIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.9Topic :: Internet :: WWW/HTTPTopic :: Security

Tags

django captcha form validationimage captcha djangobot protection django formsaccessible captcha audiocustom challenge captchadjango form securitycaptcha with text-to-speech
form-securitybot-preventionaccessibility

More WWW/HTTP packages