Member-only story

How to generate CAPTCHA in Python?

Raajeev H Dave (AI Man)
2 min readNov 1, 2024

This is very simple “hello world” type program to generate CAPTCHA.

import random

import string

from PIL import Image, ImageDraw, ImageFont

def generate_captcha(length=6):

# Generate random characters

chars = ‘’.join(random.choice(string.ascii_uppercase + string.digits) for _ in range(length))

# Create image

img = Image.new(‘RGB’, (200, 100), color=(73, 109, 137))

d = ImageDraw.Draw(img)

# Set font

font = ImageFont.truetype(‘arial.ttf’, 30)

# Draw characters

x = 20

for char in chars:

d.text((x, 30), char, font=font, fill=(255, 255, 0))

x += 30

# Add noise

for _ in range(100):

x = random.randint(0, 200)

y = random.randint(0, 100)

d.point((x, y), fill=(0, 0, 0))

# Save image

img.save(‘captcha.png’)

return chars

# Generate CAPTCHA

--

--

No responses yet