A tool for Pokemon card collectors to generate placeholder cards for organizing their binders while building their collection.
- π Search by generation or Pokemon ID
- π Multi-language support (English, Traditional Chinese, Japanese)
- π¨ Standard trading card size (63Γ88mm)
- π A4-optimized PDF output (9 cards per page, 300 DPI)
- β‘ Fast async image downloading with caching
- Python 3.9 or later
- uv package manager
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows (PowerShell)
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"# Clone the repository
git clone https://github.com/jasonma1127/ptcg-placeholder.git
cd ptcg-placeholder
# Install dependencies
uv sync
# Run the application
uv run main.pyQuick one-liner:
git clone https://github.com/jasonma1127/ptcg-placeholder.git && cd ptcg-placeholder && uv sync && uv run main.py- Select search method: Generation (1-9) or specific Pokemon IDs
- Choose language(s): English, Chinese, Japanese, or multiple
- Choose output location: Desktop, Downloads, Documents, or custom path
- Wait for generation: Images download once, then cached
- Print your cards: Use "Actual Size" (100%) print setting
Popular Pokemon IDs:
- Starters:
1,4,7(Bulbasaur, Charmander, Squirtle) - Pikachu:
25 - Eevee evolutions:
133-136 - Legendary birds:
144-146 - Mewtwo & Mew:
150,151
- Use 200-300gsm card stock for durability
- Print at "Actual Size" or "100%" (NOT "Fit to Page")
- Color printing recommended
- Cut along borders and insert into binder
- Language: Python 3.9+
- UI: Rich (terminal)
- PDF: ReportLab (300 DPI)
- Images: Pillow + PokeAPI
- Async: aiohttp for fast downloads
For personal use only. Pokemon is copyrighted by The Pokemon Company, Nintendo, and Game Freak.
- Bug reports & feature requests: Open an Issue
- Pull requests: Not currently accepted (personal project)
- All suggestions are welcome!
MIT License - see LICENSE file
Start organizing your Pokemon card collection! π΄β¨