lepture/captcha

A captcha library that generates audio and image CAPTCHAs.

Python

1,098

119 commits

updated Oct 21, 2025

See the code

README

Captcha

A captcha library that generates audio and image CAPTCHAs.

GitHub Sponsor Build Status codecov

Install

Install captcha with pip:

pip install captcha

Features

  1. Audio CAPTCHAs
  2. Image CAPTCHAs

Usage

Audio and Image CAPTCHAs are in separated modules:

from captcha.audio import AudioCaptcha
from captcha.image import ImageCaptcha

audio = AudioCaptcha(voicedir='/path/to/voices')
image = ImageCaptcha(fonts=['/path/A.ttf', '/path/B.ttf'])

data = audio.generate('1234')
audio.write('1234', 'out.wav')

data = image.generate('1234')
image.write('1234', 'out.png')

This is the APIs for your daily works. We do have built-in voice data and font data. But it is suggested that you use your own voice and font data.

Use Custom Colors

In order to change colors you have to specify your desired color as a tuple of Red, Green and Blue value. Example:- (255, 255, 0) for yellow color, (255, 0, 0)` for red color.

from captcha.image import ImageCaptcha

image = ImageCaptcha(fonts=['/path/A.ttf', '/path/B.ttf'])

data = image.generate('1234')
image.write('1234', 'out.png', bg_color=(255, 255, 0), fg_color=(255, 0, 0)) # red text in yellow background
  1. GitHub: https://github.com/lepture/captcha
  2. Docs: https://captcha.lepture.com/

Demo

Here are some demo results:

Image Captcha

Audio Captcha

captcha

lepture/captcha

A captcha library that generates audio and image CAPTCHAs.

Python

1,098

119 commits

updated Oct 21, 2025

See the code

README

Captcha

A captcha library that generates audio and image CAPTCHAs.

GitHub Sponsor Build Status codecov

Install

Install captcha with pip:

pip install captcha

Features

  1. Audio CAPTCHAs
  2. Image CAPTCHAs

Usage

Audio and Image CAPTCHAs are in separated modules:

from captcha.audio import AudioCaptcha
from captcha.image import ImageCaptcha

audio = AudioCaptcha(voicedir='/path/to/voices')
image = ImageCaptcha(fonts=['/path/A.ttf', '/path/B.ttf'])

data = audio.generate('1234')
audio.write('1234', 'out.wav')

data = image.generate('1234')
image.write('1234', 'out.png')

This is the APIs for your daily works. We do have built-in voice data and font data. But it is suggested that you use your own voice and font data.

Use Custom Colors

In order to change colors you have to specify your desired color as a tuple of Red, Green and Blue value. Example:- (255, 255, 0) for yellow color, (255, 0, 0)` for red color.

from captcha.image import ImageCaptcha

image = ImageCaptcha(fonts=['/path/A.ttf', '/path/B.ttf'])

data = image.generate('1234')
image.write('1234', 'out.png', bg_color=(255, 255, 0), fg_color=(255, 0, 0)) # red text in yellow background
  1. GitHub: https://github.com/lepture/captcha
  2. Docs: https://captcha.lepture.com/

Demo

Here are some demo results:

Image Captcha

Audio Captcha

captcha

Project health

Overall

2.6/10

Maintained

0/10

Code review

1/10
OpenSSF Scorecard

Latest release

0.7.1 · Mar 1, 2025

Releases this year

0

Significant stargazers

Breezedeus

479 followers · starred Dec 2022

Éloi Rivard

85 followers · starred Jan 2024

Carson Ip

70 followers · starred Aug 2018

euri10

104 followers · starred Oct 2022