InCard Editor — free, open-source collectible card editor.
I created this project to quickly and comfortably create, edit and export character cards with images, stats and simple template settings. The app is written in Python (with a modern GUI) and runs on Windows as well as on other systems that support Python.
SEO: card editor, collectible card editor, card generator, card editor app, TCG card creator, RPG card maker, Python
- Easy to modify, split into frames/modules:
WelcomeFrame,IntermediateFrame,EditorFrame,FinishFrame,ConfigFrame⚙️ - Create a session with any number of cards (1–999) 💠
- Card fields (I plan to add more customization later): Name, Rarity, Type, Property, Accuracy 🔤
- Icon selection and editing:
- Supports common formats (PNG, JPG, BMP, WebP, (SVG planned later)) 🖼️
- Preview, drag to position and zoom (drag & zoom) ✔️
- List of saved cards with thumbnails and quick load for editing 📋
- Light and Dark themes and language files in
settings/lang/— you can add your own translations 🌗 - Configurable values:
rarity,types,propertiesinsettings/config.json(I'm working on changing this in the app) 🔧 - Temporary NDJSON storage (
cache/cards.ndjson) and final export tocache/cards.jsonwith icons saved tocache/icons/🗂️ - Restore an interrupted session (restore)
⚠️ - Compatibility with multiple systems: Windows, Linux, macOS
This project is in progress and not yet finished, but it is usable for testing and for quickly validating the card-creation workflow (alpha/beta). I plan to actively add features such as export to PNG/PDF and UX improvements. Right now the app exports cards.json and icons to an icons/ folder; later it will be able to convert this data into ready-to-print card templates.
I plan to support 20 languages — currently I use language files in settings/lang/ (Polish), and I will add translations progressively. If you want to help, add a translation file and open an issue.
-
Requirements:
- Python 3.8+
- Pillow (
pip install pillow) - Tkinter (usually included with Python)
- If you miss a dependency (I sometimes add new ones), install it with
pip install <package> - You can install requirements library from file
install.batorinstall.sh
-
Run:
- Windows: double-click
start.bator runpython main.py - Other systems (Linux, macOS):
./start.shor runpython3 main.py
- Windows: double-click
-
Quick workflow:
New project→ enter the number of cards →Next- In the editor pick an icon, set position/zoom, fill in information as needed and click Save and next
- After saving all cards close the session —
cache/will containcards.jsonand anicons/folder with PNGs - To edit a saved card: open
All cards(menuAll cards), select the card you want to edit, make changes and save — you'll continue from where you left off.
main.py— app launcherconfig.py— settings, languages, helper functionspaths.py— constants and sizesframes/— app sections and editor UIsettings/— config samples and translationsassets/— images and templatescache/— temporary and output files
- Edit
settings/config_sample/config.jsonto add custom rarities, types and properties. - Add translations in
settings/lang/(JSON) — I welcome contributions. - If you have ideas for new features, please suggest them via an issue.
- Currently the app saves data to JSON and icons as PNG; there is no automatic export to PDF/print sheets yet.
- YouTube channel: https://www.youtube.com/@InGraw
- To report bugs or suggest features: please open an issue on GitHub
