Updated October 1, 2026
The reason most large collections never get catalogued isn't laziness. It's that the obvious method — pick up a card, look it up, type a row, repeat — costs 45–90 seconds per card, and nobody has 40 hours.
The method below is built around cutting that number, and around one measured fact: how you physically lay the cards out changes your results more than which tool you use.
Before touching a card, pick one of these. They are wildly different jobs:
Most people aim at the third and quit, because it's roughly three times the work of the first. Do the first one completely before starting the second. A complete inventory with no prices is enormously more useful than a half-finished valuation.
This is the stage people skip, and it's the one that pays. Sorting is cheap (you can do it in front of a TV), capture is expensive, and sorting first makes capture faster and more accurate.
Sort into: graded slabs, cards you believe are worth something, and bulk. Then split bulk by sport or set.
Three reasons this ordering matters:
Here is where the measured part comes in. Our detection benchmark (ml/eval.py) runs
50 real photos containing 373 cards through the detector that is actually
shipping (build 25222858). It found 344 of 373 cards, with
40 of 50 photos exactly right. Split by how the cards were arranged:
| Layout in the photo | Cards found |
|---|---|
| Flat, non-overlapping — binder pages, laid-out grids, dense rows | 311 / 313 (99%) |
| Fanned, piled, or overlapping | 33 / 60 (55%) |
Essentially all of the loss is overlap. The corpus deliberately includes photos shot bright, shot dim, against busy backgrounds, with glare, at an angle and at depth — an 18-card dense frame comes back exact. Flat layouts give up almost nothing: the only flat frames that miss anything in the current run are bright_5 (4 of 5), tilted_7 (6 of 7).
Here is every photo in the benchmark that lost a card, worst first — ours, unedited:
| Benchmark photo | Cards present | Cards found |
|---|---|---|
overlap_heavy_8 |
8 | 1 |
pile_15 |
15 | 8 |
fanned_10 |
10 | 5 |
test_pile_9 |
9 | 5 |
bright_5 |
5 | 4 |
overlap_light_6 |
6 | 5 |
overlap_two_2 |
2 | 1 |
test_fan_7 |
7 | 6 |
test_overlap_3 |
3 | 2 |
tilted_7 |
7 | 6 |
So the single most useful habit in this entire guide: lay the cards out flat with a gap between them. A nine-pocket binder page shot square-on is the ideal input. A fanned stack — the shot that looks best in a photo — is the worst input you can give.
Practical capture rules that follow from that corpus:
Identification is not the same thing as being right, and it is worth knowing the gap before you trust a few thousand rows.
On our end-to-end benchmark (192 cards, scoring whether the stored card is the card that was photographed), the pipeline reported confidence on 120 cards — and 15 of those 120 were the wrong card. That's 12% of confident answers wrong.
A no-match costs you ten seconds. A confident wrong answer costs you a permanently incorrect row you will never re-examine, because you have no reason to. That asymmetry is why a bulk catalogue workflow needs a review step between identification and your collection, and why ours has one. More on this failure mode in what a collection tracker has to get right.
Review efficiently: scan the grid for names that look wrong for the photo next to them, rather than reading every row. Wrong identifications usually look obviously wrong — wrong player, wrong year, wrong sport — because the failure is a mismatch, not a typo.
Pricing is the slowest and least durable part of a catalogue. Prices move; your inventory doesn't. Get everything catalogued first, then price.
Two things worth being clear about:
For 2,000 bulk cards, with sorting already done:
| Stage | Rough cost |
|---|---|
| Sorting (do it in front of a TV) | 3–5 hours |
| Page capture, 9 cards per photo | ~220 photos — an evening |
| Review and correction | the real cost; budget 2–4 hours |
| Valuation pass | optional, do it later |
Versus 25–50 hours of manual typing. The win is entirely in capture and review, which is why those are the two stages worth being deliberate about.
Manual entry runs 45–90 seconds per card, so 2,000 cards is 25–50 hours of typing. With page capture — photographing a full binder page at a time — the same collection is roughly an evening of photos plus 2–4 hours of reviewing the results, after a few hours of sorting.
Yes, and sort first. Sorting is cheap and can be done without concentration; capture is expensive. Splitting into graded slabs, cards you think are valuable, and bulk lets you give each group the treatment it deserves instead of treating 2,000 commons like 20 key cards.
Flat, square-on, with a gap between cards and a background that contrasts with the card border. In our 50-photo benchmark, flat layouts returned 311 of 313 cards while fanned and piled layouts returned 33 of 60 — almost all of the loss is cards covering each other.
For an inventory, no. For anything involving value, yes — grade is routinely a 10× spread on the same card, and pricing a raw card as though it were graded is the most common cause of a badly wrong collection total.
No. Catalogue everything first, then price. Prices change and your inventory doesn't, so a complete inventory with no prices is far more useful than a half-finished valuation that stalls at card 400.
Try SnapMyCards — it runs in your browser