Bulk Certificate Renamer

Python automation script to rename bulk certificate images exported from Canva using CSV data

pythonautomationcsvscriptingcanva

Share this project:

Project Overview

Bulk Certificate Renamer

A simple yet powerful Python automation script designed to rename bulk certificate images exported from Canva's bulk certificate generator. This tool streamlines the process of organizing certificates by automatically renaming image files based on CSV data.

📋 Overview

When using Canva's bulk certificate generator, exported images are typically numbered sequentially (1.png, 2.png, etc.). This script automates the tedious process of renaming these certificates to match recipient names or custom identifiers from your CSV file, saving hours of manual work.

✨ Features

  • Automated Bulk Renaming: Rename hundreds of certificates in seconds
  • CSV-Based Mapping: Uses CSV file data for accurate name mapping
  • Multiple Format Support: Works with PNG, JPG, and JPEG image formats
  • Sequential Processing: Maintains correct order based on CSV sequence
  • Validation Checks: Ensures file count matches CSV entries before processing
  • Simple Execution: Single command operation

🛠️ Technologies Used

  • Python 3.x: Core scripting language
  • CSV Module: For reading and parsing CSV data
  • OS Module: File system operations for renaming files
  • Pathlib: Modern file path handling

📁 Project Structure

bulk-certificate-renamer/
├── main.py                 # Main script file
├── data_csv/              # Folder for CSV data
│   └── names.csv          # CSV file with recipient names
├── images/                # Folder for certificate images
│   ├── 1.png             # Numbered certificates from Canva
│   ├── 2.png
│   └── ...
└── README.md

🚀 Getting Started

Prerequisites

  • Python 3.6 or higher installed on your system
  • Basic understanding of command line operations

Installation Steps

  1. Clone or download the repository

    git clone <repository-url>
    cd bulk-certificate-renamer
    
  2. Verify Python installation

    python --version
    

    or

    python3 --version
    

No additional packages are required as the script uses Python's built-in modules.

💻 How to Use

Step-by-Step Guide

  1. Export Certificates from Canva

    • Use Canva's bulk certificate generator
    • Download/export all designs as PNG, JPG, or JPEG format
    • Files will be numbered sequentially (1.png, 2.png, etc.)
  2. Organize Your Files

    • Place all exported certificate images into the images/ folder
    • Ensure your CSV file is in the data_csv/ folder
  3. Prepare CSV File

    • Create a CSV file with recipient names or desired file names
    • Ensure the CSV has the same number of entries as images
    • Format: One name per row

    Example names.csv:

    John Doe
    Jane Smith
    Bob Johnson
    Alice Williams
    Charlie Brown
    
  4. Verify File Count

    • Make sure the number of images in images/ folder matches the number of entries in your CSV file
    • Mismatch will cause incorrect renaming
  5. Run the Script

    python main.py
    

    The script will:

    • Read names from CSV file
    • Match each name with corresponding numbered image
    • Rename files based on CSV data
    • Display progress in console
  6. Check Results

    • Navigate to the images/ folder
    • Verify that all certificates are renamed correctly

📸 Visual Example

Before Running Script

Images are numbered sequentially: Before

  • Files: 1.png, 2.png, 3.png, 4.png, 5.png
  • CSV entries: test 1, test 2, test 3, test 4, test 5

After Running Script

Images are renamed to match CSV data: After

  • Files: test 1.png, test 2.png, test 3.png, test 4.png, test 5.png
  • Perfectly matched with CSV entries!

⚙️ Configuration

CSV File Format

The script expects a simple CSV file with one name per row:

Name 1
Name 2
Name 3

Supported Image Formats

  • PNG (.png)
  • JPG (.jpg)
  • JPEG (.jpeg)

🔍 Troubleshooting

Common Issues

  1. File Count Mismatch

    • Problem: Number of images ≠ number of CSV entries
    • Solution: Verify both counts match exactly before running
  2. CSV Not Found

    • Problem: CSV file not in correct location
    • Solution: Ensure CSV is in data_csv/ folder
  3. Permission Errors

    • Problem: Script can't rename files
    • Solution: Ensure you have write permissions for the images folder
  4. Python Not Found

    • Problem: Python not installed or not in PATH
    • Solution: Install Python and add to system PATH

🎯 Use Cases

  • Event Certificates: Rename certificates for workshop/seminar attendees
  • Award Certificates: Organize award certificates by recipient names
  • Course Completion: Batch rename course completion certificates
  • Custom Documents: Any bulk document renaming from Canva exports

🚀 Advanced Usage

Custom CSV Path

Modify main.py to use a different CSV file:

csv_file = 'path/to/your/custom.csv'

Different Image Folder

Change the image directory in the script:

image_folder = 'path/to/your/images'

📝 Best Practices

  1. Backup Original Files: Always keep a backup of original numbered files
  2. Test First: Run on a small batch before processing hundreds of files
  3. Verify CSV: Double-check CSV data for typos before running
  4. Consistent Format: Ensure all images have the same file format
  5. Clean Names: Avoid special characters in CSV names for compatibility

🤝 Contributing

Improvements and suggestions are welcome! Feel free to:

  • Report bugs
  • Suggest new features
  • Submit pull requests
  • Share your use cases

📄 License

This project is open source and available for personal and commercial use.

💡 Tips

  • Use descriptive names in your CSV for better organization
  • Consider adding a date prefix for chronological ordering
  • Test the script with a few files before running on large batches
  • Keep your CSV and images synchronized

Save time, automate the boring stuff! 🚀

Bulk Certificate Renamer | Daffathan Labs | Daffathan Labs