Build a deck, get told what's wrong with it
Pick a leader, then load what wins with it or search and build your own. Every number on this page is counted from real tournament decklists.
How these numbers are worked out
When this page says meta runs 4, that is a measured share of winning lists with your leader that actually run four copies. It is not a heuristic and not a guess.
Inclusion rates are computed per leader, across every ingested decklist piloting it. A leader needs at least recorded decks before it gets meta recommendations — below that the signal is noise. That bar gates the advice, not the card: every leader in the game is in the picker, and one under the bar still gets color-legal search, deck stats and mechanical matches, and is told plainly that it has no meta data rather than being shown a rate of zero.
Counter targets compare your deck to the measured average for your leader, not to a rule of thumb. Nothing here is simulated — no card effects are executed.
Cards that work together is a different measurement from the rest, because an inclusion rate cannot find it. A card in 99% of lists shares a list with almost every other card, so simply counting how often two cards appear together ranks the two most popular cards first and tells you nothing. Instead each pair is scored on lift — how often the two actually share a list, divided by how often two cards that popular would share one by chance. 1× is chance. Because a pair seen only a handful of times can score high by luck, each one carries a 95% interval and is judged on the bottom of it:
Fitted deep, recommended shallow. The bond between two cards is measured over every recorded list with that leader, because that is where it is measured best — a hold-out test (fit before a date, score against the lists registered after it) found that restricting the fit to the newest format alone was less accurate and covered 62% fewer decks. Of the pairs that stop holding, roughly three in four stop because one of the cards left the format, not because the two cards stopped wanting each other. So the format is applied as a filter on which cards may be named, not as the window the number is computed in: both cards must still be turning up in the current format () in at least of its lists, and each panel prints the span it measured and the format it checked.
One more restriction, and it is the one that makes this section worth reading. Against every card at once, popularity beats lift outright — a tournament list is mostly staples, so "suggest a staple" is a very hard baseline. Lift only wins where popularity has run out of an opinion, so a card is offered here only when it sits between of this leader's lists in the current format. Above that it is a staple and the Missing staples section already names it; below it, the format has not tried the card and Worth a look is the honest heading for that. The share is read off the current format and not off the whole fitted span on purpose: a card printed part-way through that span is divided by lists that existed before it did, which makes a brand-new staple look unsettled. One leader's most-played card scored 27% that way while sitting in every single one of its current lists. A leader with fewer than lists in the current format is not judged on this at all, and the panel says so rather than guessing.
Card search
Your deck
Recommendations
What you still need
Set what you already own with the −/+ under each card. A price that could not be matched to one specific product is shown, but left out of both totals.
Where these prices come from
What you own is remembered in this browser and applies to every deck you build. Nothing is sent anywhere; there is no account.
Prices are TCGplayer market, via TCGCSV's daily feed, snapshotted when this page was last built — the date is printed under the totals. TCGplayer lists fewer products than the game has printings, so the same card can carry a real price on one printing and another printing's number on a second. Both totals exclude anything that could not be matched to one specific product, which is why a card can be listed with a price and still add nothing to the sum.
Card request & pull sheet
Post the block below in Discord — plain text on purpose, with nothing to sign in to.
For whoever is pulling the cards
Run the block through optcg deck picklist and you get the same sheet printed
below it, so what was asked for and what gets pulled cannot drift apart.
The default order walks your boxes once: set, then bulk before hits, then card number. Sets
rank by card-number code rather than release date, because this page carries no release
dates and inventing an order would put your shelf in one nobody chose. The CLI takes
--set-order if yours runs differently.
Nothing on this page is simulated — no card effects are executed. A leader with fewer than recorded decks is told it has no meta data, rather than being given a rate of zero.
Card images, rarity codes and what a printing is
printings are rendered from docs/art/ next to this file at
Bandai's native resolution (600px preview, 868px where Bandai publishes it larger; 300px
thumbnail), never upscaled. Open the page from the repo and you get those. Published, the
relative files are blocked, so base cards fall back to art embedded in the page and alternate
printings show as unavailable rather than showing you the wrong picture. A card with no image
at all is drawn — the back you see is CSS, not a scan, and it is not a broken image.
Rarity codes come from print-level data where it exists. A parallel marked inherited is showing its base card's rarity because no print-level classification was found for it — that is stated rather than guessed.
Which art you pick is cosmetic. Deck exports always use the base card number, which is what the sim expects, and the four-copy rule counts card numbers rather than printings.