Build a Business Card Image Generator with Python
Level: Real World
Your task for today is to create a simple business card generator that takes user information and creates a professional-looking business card image — a practical tool for quickly designing cards without graphic design software and you can apply the technique to other image generation scenarios.
Project Task
Create a business card generator that:
Uses the Pillow (PIL) library to create and manipulate images
Takes user input for name, title, email, and phone number
Creates a business card image with a colored background
Adds text with different fonts and sizes for visual hierarchy
Positions text elements in a professional layout
Saves the generated business card as a PNG image
Uses basic shapes and colors for a clean design
This project gives you hands-on practice with image creation, text rendering, positioning elements, and working with colors — essential skills for building image generation and design automation tools.
Expected Output
The app will start by prompting the user to enter the business card data:
Business Card Generator
=======================
Enter your information:
Name: John Smith
Title: Software Developer
Email: john.smith@email.com
Phone: (555) 123-4567
Generating business card...Then, the program will generate the card and save it in the local directory. Here is the actual card generated from the above data:
This is a great program to introduce you to image generation with Python and you can easily expand this to do batch image generations.
Join the Python & AI Builders Skool Community
Got questions to ask the author about this project? Join our Python & AI Builders community for weekly Python & AI videos and discussions:
https://skool.com/automateit
Skeleton and Solution
Below you will find both a downloadable skeleton.py file to help you code the project with comment guides and the downloadable solution.py file containing the correct solution.
Get the code skeleton here:
Get the code solution here:




Nice practical example of Pillow for automation. The text positioning and font hierarchy part is actually trickier than it looks when scaling across diferent card sizes. I built something similar for event badges and ended up spending way more time on dynamic font scaling than expected, especially when names got too long and started wrapping weird.