CardPool is a card pool generator for trading card games (TCGs), designed to analyze and export eligible cards based on word-count rules and errata history. Originally developed for the 25 Format community, it automates the process of identifying cards whose shortest known text version meets specific criteria.
Key Features:
Fetches card data from YGOProDeck and Yugipedia for accurate errata tracking.
Applies configurable word-count thresholds (default: ≤25 words) to identify eligible cards.
-Exports card pools to Excel (.xlsx) and CSV formats, complete with metadata and errata details.
Supports exclusion of specific card types (e.g., Pendulum or Link monsters).
-Includes optional material stripping for fusion/synchro/xyz/link cards before word counting.
Audience & Benefit:
Ideal for TCG players, deck builders, and tournament organizers seeking structured card pools. CardPool saves time by automating eligibility checks, ensuring accuracy in errata versions, and providing clear export formats for analysis or distribution. It empowers users to focus on strategic decisions while maintaining compliance with game rules.
CardPool is available via winget for easy installation on Windows systems.
README
CardPool
> Disclaimer: CardPool is an independent fan project and is not affiliated with, endorsed by, or sponsored by Konami Digital Entertainment. Yu-Gi-Oh! is a trademark of Konami. Card text and artwork are the intellectual property of their respective owners.
>
> Card data is fetched from YGOProDeck and errata history from Yugipedia. Users of this tool are responsible for complying with the terms of use of both services. Output files generated by this tool may contain copyrighted card data and should not be publicly redistributed.
Card pool analysis tool for trading card games. Fetches card data from game-specific sources, enriches it with errata history, applies word-count rules, and exports to Excel/CSV.
Current implementation: cards fetched from YGOProDeck, errata history from Yugipedia. The design supports multiple TCGs — more to follow.
Originally built for the 25 Format community — come join us on Discord.
The core purpose: identify cards whose shortest known errata version falls within a word-count threshold (default: ≤25 words).
Installation
Option A — .NET Global Tool (recommended for developers)
Export all card data to Excel (.xlsx) and CSV. Output files are written to ./output// by default.
> Only TCG-legal cards are included — cards with no known TCG release date (OCG-only, digital-only, etc.) are excluded automatically.
cpool export # default: <=25 words, strip-materials, exclude pendulum link
cpool export --words 20 # <=20 words
cpool export --strip-materials false # include full material text in word count
cpool export --exclude-types none # include all card types
cpool export --exclude-types fusion synchro xyz link # main-deck cards only
cpool export --exclude-types pendulum link flip # also exclude Flip monsters
cpool export --errata-mode latest # use current text only (fast — no Yugipedia fetch)
cpool export --words -1 # no word limit — export all cards
cpool export --since 2025-01-01 # also generate release notes for cards eligible since this date
cpool export --words 30 --output ~/ygo # <=30 words, custom output dir
Option
Default
Description
--words
25
Word-count threshold — cards with any printing at or below this limit are included. Use -1 for no limit
--strip-materials
true
Strip fusion/synchro/xyz/link material requirements from effect text before counting; original materials are preserved in a separate column
--exclude-types
pendulum link
Exclude cards whose type contains any of these fragments (case-insensitive, repeatable). Use none to include all types
--errata-mode
shortest
Which text version to evaluate: shortest = any historical printing (fetches Yugipedia), latest = current printing only (fast, no Yugipedia fetch)
--since
(none)
Generate a release notes file alongside the export showing cards that became eligible on or after this date (YYYY-MM-DD)
--output
./output
Directory to write output files to
cpool inspect
Show all errata versions for a single card with word counts, highlighting the shortest and latest versions.
cpool inspect "Raiza the Storm Monarch"
cpool inspect "Dark Magician"
Global options
cpool --help # show available commands
cpool --version # show installed version
Stripped material requirement text (only present when --strip-materials true)
shortest_errata
The errata version with the fewest words; falls back to current oracle text if no Yugipedia page exists
latest_errata
The most recent errata version; falls back to current oracle text
eligible_since
Earliest date (YYYY-MM-DD) any errata version of this card met the word threshold
word_count
Effective word count of shortest_errata, applying game counting rules
is_eligible
true if word_count ≤ threshold
id
YGOProDeck numeric card ID
image_url
Card artwork URL
The main export workbook has two sheets: <=N Words (eligible cards) and >N Words (ineligible cards).
When --since is provided, a separate release notes workbook is also produced containing only cards whose eligible_since date falls on or after the given date.
Word Counting Rules
Card Type
What's Counted
Normal Monster (no Pendulum)
0 — all text is flavour
Pendulum Normal Monster
Pendulum Effect box only
Pendulum Effect Monster
Pendulum Effect box + Monster Effect box
All others (Effect Monsters, Spells, Traps)
Full description text
The shortest errata is selected by fewest raw words across all errata versions; ties go to the latest version. The word count is then the card-type-adjusted count of that text.