--- id: django-simple-captcha version: "0.7.0" license: MIT license_treatment: permissive maintenance: active --- # django-simple-captcha — A very simple, yet powerful, Django captcha application License: permissive · Maintenance: active · Downloads: 253.6K/mo ## 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 above — 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 pip install django-simple-captcha uv add django-simple-captcha 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: unspecified - Install friction: low - Maintenance: active - Downloads: 253.6K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags django captcha form validation, image captcha django, bot protection django forms, accessible captcha audio, custom challenge captcha, django form security, captcha with text-to-speech, form-security, bot-prevention, accessibility [View on SkillFed](https://skillfed.io/packages/django-simple-captcha) · [View on PyPI](https://pypi.org/project/django-simple-captcha/)