What happened when we tested ten reference images?
In this single backend test, Scanner Dex matched the card name and collector number in all ten cases and the expansion in eight. Two cards were assigned the wrong expansion. This small reference-image sample does not establish real-camera or general accuracy.
Test and manual review by Scanner Dex / LMakt. Published October 22, 2026.
Results, including mistakes
| Reference card | Expected expansion / number | Returned expansion / number | Outcome |
|---|---|---|---|
| Charizard base1-4 | Base · 4/102 | Base Set · 4/102 | All three match |
| Pikachu base1-58 | Base · 58/102 | Base Set · 58/102 | All three match |
| Switch base1-95 | Base · 95/102 | Base Set · 95/102 | All three match |
| Eevee base2-51 | Jungle · 51/64 | Jungle · 51/64 | All three match |
| Venusaur-EX xy1-1 | XY · 1/146 | XY—Flashfire · 1/146 | Expansion mismatch |
| Charizard swsh4-25 | Vivid Voltage · 25/185 | Champion's Path · 025/185 | Expansion mismatch |
| Pikachu VMAX swsh4-44 | Vivid Voltage · 44/185 | Sword & Shield: Vivid Voltage · 044/185 | All three match |
| Umbreon VMAX swsh7-215 | Evolving Skies · 215/203 | Evolving Skies · 215/203 | All three match |
| Charizard ex sv3-223 | Obsidian Flames · 223/197 | Scarlet & Violet — Obsidian Flames · 223/197 | All three match |
| Charizard ex sv3pt5-199 | 151 · 199/165 | Scarlet & Violet—151 · 199/165 | All three match |
Median recognition request duration was 4.04 seconds, excluding image download and preprocessing. All ten requests returned parseable JSON; no recognition requests were retried or dropped.
How was the test run?
We selected ten fixed English-language images from seven expansions before calling the service. Four cases were Charizard printings. Expected identities came from the Pokémon TCG reference dataset at a pinned revision. This is a third-party dataset, not a grading or authentication authority.
Each image was resized to a maximum dimension of 768 pixels and converted to JPEG quality 72 using macOS sips, approximating the app's final image processing. The current app prompt, resolved to English, and a base64 image were sent to the live Scanner Dex recognition backend. Expected names, source URLs, and filenames were not included in the request. This does not reproduce UIKit image processing byte for byte or exercise the iPhone interface.
Names were compared after punctuation normalization, and number fractions after removing leading zeros. Base and Base Set were treated as aliases; series prefixes on Vivid Voltage, Obsidian Flames, and 151 were accepted. XY—Flashfire was not accepted as XY. Returned model: gpt-5.4-mini-2026-03-17; completion budget: 900 tokens.
What did the test expose?
Venusaur-EX 1/146 was assigned to XY—Flashfire instead of XY. Charizard 25/185 was assigned to Champion's Path instead of Vivid Voltage. The Eevee response also contained conflicting edition descriptions. These are reasons to confirm the physical card's details even when its name and number look right.
What was not tested?
We did not test real camera photos, glare, sleeves, blur, backs of cards, other languages, other TCGs, non-card rejection, authentication accuracy, professional grading, live pricing accuracy, payment flows, or the app's result parser. Condition, finish, edition, artist, and price statements were not scored. Results may change on another run.
Do not read these results as “80% accurate” for all cards or as a promise about value or condition. A broader physical-card sample is needed for those claims.
Check the evidence
Download the identity results, input hashes, and source URLs (JSON). Original card images are not rehosted here. Local raw responses and the test runner are retained in the project for review.
See the Pokémon scanning workflow or read our publisher and editorial policy.