A lightweight, easy-to-use batch UPC barcode generator perfect for creating barcode images to paste into Numbers spreadsheets on macOS.
- ✨ Simple GUI interface - Just paste and click!
- 📋 Batch processing - Handle hundreds of UPCs at once
- 🔢 Maintains order - Barcodes are numbered in the same order as your input
- 🖼️ High-quality images - Clean PNG barcode images ready for spreadsheets
- 🚀 Lightweight - Minimal dependencies, fast performance
- 💻 CLI option available - For power users who prefer command line
- Python 3.7 or higher (check with
python3 --version) - pip (Python package manager)
-
Clone or download this repository
-
Open Terminal and navigate to the BatchMe folder:
cd /path/to/BatchMe -
Install dependencies:
pip3 install -r requirements.txt
That's it! You're ready to generate barcodes.
This is the easiest way to use BatchMe:
-
Run the program:
python3 barcode_generator.py
-
A window will open. Simply:
- Paste your UPC numbers (one per line) into the text area
- Click "Generate Barcodes"
- The program will create barcode images in the
barcodesfolder
-
After generation:
- Click "Yes" when asked if you want to open the folder
- The barcodes will be numbered (0001, 0002, etc.) in the same order as your input
- Simply drag and drop the images into your Numbers spreadsheet!
Click "Choose Output Folder" to save barcodes to a different location.
If you prefer the command line:
-
Run with the
--cliflag:python3 barcode_generator.py --cli
-
Paste your UPC numbers (one per line)
-
Press
Ctrl+Dwhen done -
Barcodes will be generated in the
barcodesfolder
You can also pipe UPC numbers from a text file:
python3 barcode_generator.py --cli < upc_list.txtHere's the complete workflow for using BatchMe with Numbers:
-
Prepare your UPCs in Numbers:
- Copy the column of UPC numbers from your Numbers spreadsheet
-
Generate barcodes:
- Run BatchMe (
python3 barcode_generator.py) - Paste the UPC numbers
- Click "Generate Barcodes"
- Run BatchMe (
-
Insert into Numbers:
- Open the
barcodesfolder - Sort by name (they're numbered in order: 0001, 0002, etc.)
- Drag and drop the images into the corresponding rows in Numbers
- Or use Insert → Image for each barcode
- Open the
BatchMe supports both standard UPC formats:
- UPC-A: 12-digit codes (most common)
- UPC-E: 8-digit codes (compressed format)
The program automatically detects which format to use based on the number of digits.
012345678905
725272730706
614141000036
123456789012
The program generates 4 files:
0001_012345678905.png0002_725272730706.png0003_614141000036.png0004_123456789012.png
Each file contains a scannable barcode image ready to paste into your spreadsheet!
Make sure your UPC numbers are either 8 or 12 digits long. Remove any spaces, dashes, or other characters.
If you see this error when running GUI mode:
- Try CLI mode instead:
python3 barcode_generator.py --cli - Or install tkinter:
# On Mac with Homebrew brew install python-tk
Make sure you're using PNG files (not SVG). BatchMe generates PNG by default, so this shouldn't be an issue.
BatchMe is lightweight and fast:
- Generates ~100 barcodes in under 5 seconds on an Intel Mac
- Minimal memory usage
- No heavy dependencies
BatchMe/
├── barcode_generator.py # Main program
├── requirements.txt # Python dependencies
├── README.md # This file
└── barcodes/ # Output folder (created automatically)
├── 0001_123456789012.png
├── 0002_234567890123.png
└── ...
The barcode images use sensible defaults, but you can modify the code if needed. Look for the ImageWriter configuration in barcode_generator.py.
For very large batches (1000+ UPCs), consider:
- Using CLI mode for better performance
- Processing in chunks to avoid memory issues
- Using an SSD for faster file I/O
Free to use for personal and commercial projects.
If you encounter any issues:
- Check the Troubleshooting section
- Ensure all dependencies are installed correctly
- Verify your UPC numbers are valid (8 or 12 digits)
Happy barcode generating! 📊✨