{
  "url": "https://www.moonstonehq.com/articles/how-many-pokemon-cards-are-there",
  "slug": "how-many-pokemon-cards-are-there",
  "title": "How Many Pokemon Cards Are There? A Real Count",
  "summary": "Our catalog holds 63,600 rows, and that is not how many Pokemon cards there are. Deduplicated twice and stripped of digital sets: 21,908 English printings.",
  "section": "Quant research",
  "published": "2026-09-23",
  "readMinutes": 9,
  "publisher": "moonstone",
  "findings": [
    {
      "value": "63,600",
      "measures": "catalog rows",
      "basis": "every row in the cards table, both languages"
    },
    {
      "value": "21,908",
      "measures": "distinct physical English printings",
      "basis": "deduplicated twice, Pocket removed"
    },
    {
      "value": "37,948",
      "measures": "distinct Japanese rows",
      "basis": "the top of a 32,405 to 37,948 bound"
    },
    {
      "value": "49,916",
      "measures": "rows in the shipped scan index",
      "basis": "what the scanner can match by face"
    }
  ],
  "tables": [
    {
      "title": "The counting ladder, September 23, 2026",
      "columns": [
        "Name",
        "Count",
        "What it counts",
        "Use it when"
      ],
      "rows": [
        {
          "Name": "Catalog rows",
          "Count": "63,600",
          "What it counts": "Every row in the cards table, both languages, every id convention",
          "Use it when": "Describing the size of the database"
        },
        {
          "Name": "Distinct printings",
          "Count": "62,335",
          "What it counts": "Catalog rows after both deduplication rules, identity and marketplace product id",
          "Use it when": "You need the whole catalog with no double counting"
        },
        {
          "Name": "English rows",
          "Count": "24,635",
          "What it counts": "Rows whose language is English, including digital-only Pocket sets",
          "Use it when": "Nothing. This is the number that causes errors"
        },
        {
          "Name": "Distinct physical English printings",
          "Count": "21,908",
          "What it counts": "English rows, deduplicated twice, with all 15 Pokemon TCG Pocket sets removed",
          "Use it when": "Any claim about English cards a person can hold"
        },
        {
          "Name": "Priced English printings",
          "Count": "21,435",
          "What it counts": "The above, restricted to cards carrying a market ask today",
          "Use it when": "Any price statistic"
        },
        {
          "Name": "Distinct Japanese rows",
          "Count": "37,948",
          "What it counts": "Japanese rows after both deduplication rules, across both namespaces",
          "Use it when": "Any claim about the Japanese catalog, with the caveat below"
        },
        {
          "Name": "Scannable rows",
          "Count": "49,916",
          "What it counts": "Rows that survive the scan index build and can be matched by face",
          "Use it when": "Describing what the scanner covers"
        }
      ]
    },
    {
      "title": "Products claimed by two catalog rows",
      "columns": [
        "Where the two rows come from",
        "Products",
        "Example"
      ],
      "rows": [
        {
          "Where the two rows come from": "Japanese catalog against Japanese marketplace",
          "Products": "972",
          "Example": "ja-M2a-001 and jat-665672, both product 665672"
        },
        {
          "Where the two rows come from": "Modern import against TCGdex import, English",
          "Products": "209",
          "Example": "enx-118828 and tk-xy-su-1, both product 118828"
        },
        {
          "Where the two rows come from": "Two TCGdex rows, English",
          "Products": "30",
          "Example": "swsh10-TG01 and swsh10.5tg-TG01, both product 272472"
        },
        {
          "Where the two rows come from": "Two modern-import rows, English",
          "Products": "1",
          "Example": "enx-168212 and enx-168213, both product 168212"
        },
        {
          "Where the two rows come from": "Total",
          "Products": "1,212",
          "Example": "240 English, 972 Japanese, none across the language line"
        }
      ]
    },
    {
      "title": "Rows by id namespace",
      "columns": [
        "Namespace",
        "Example id",
        "Rows",
        "Linked to a marketplace product",
        "Set names",
        "Language"
      ],
      "rows": [
        {
          "Namespace": "jat-",
          "Example id": "jat-569495",
          "Rows": "26,185",
          "Linked to a marketplace product": "100.00%",
          "Set names": "429",
          "Language": "Japanese (one English row)"
        },
        {
          "Namespace": "TCGdex catalog",
          "Example id": "base1-4",
          "Rows": "23,767",
          "Linked to a marketplace product": "87.62%",
          "Set names": "218",
          "Language": "English"
        },
        {
          "Namespace": "ja-",
          "Example id": "ja-PMCG2-001",
          "Rows": "12,781",
          "Linked to a marketplace product": "30.07%",
          "Set names": "115",
          "Language": "Japanese"
        },
        {
          "Namespace": "enx-",
          "Example id": "enx-696688",
          "Rows": "867",
          "Linked to a marketplace product": "100.00%",
          "Set names": "19",
          "Language": "English"
        }
      ]
    },
    {
      "title": "The 15 Pokemon TCG Pocket sets in the catalog",
      "columns": [
        "Set",
        "Rows",
        "Priced"
      ],
      "rows": [
        {
          "Set": "Mega Rising",
          "Rows": "331",
          "Priced": "0"
        },
        {
          "Set": "Genetic Apex",
          "Rows": "286",
          "Priced": "0"
        },
        {
          "Set": "Wisdom of Sea and Sky",
          "Rows": "241",
          "Priced": "0"
        },
        {
          "Set": "Celestial Guardians",
          "Rows": "239",
          "Priced": "0"
        },
        {
          "Set": "Fantastical Parade",
          "Rows": "234",
          "Priced": "0"
        },
        {
          "Set": "Space-Time Smackdown",
          "Rows": "207",
          "Priced": "0"
        },
        {
          "Set": "Paldean Wonders",
          "Rows": "131",
          "Priced": "0"
        },
        {
          "Set": "Shining Revelry",
          "Rows": "111",
          "Priced": "0"
        },
        {
          "Set": "Eevee Grove",
          "Rows": "107",
          "Priced": "0"
        },
        {
          "Set": "Secluded Springs",
          "Rows": "105",
          "Priced": "0"
        },
        {
          "Set": "Crimson Blaze",
          "Rows": "103",
          "Priced": "0"
        },
        {
          "Set": "Extradimensional Crisis",
          "Rows": "103",
          "Priced": "0"
        },
        {
          "Set": "Promos-A",
          "Rows": "100",
          "Priced": "0"
        },
        {
          "Set": "Triumphant Light",
          "Rows": "96",
          "Priced": "0"
        },
        {
          "Set": "Mythical Island",
          "Rows": "86",
          "Priced": "0"
        },
        {
          "Set": "Total",
          "Rows": "2,480",
          "Priced": "0"
        }
      ]
    },
    {
      "title": "Distinct physical English printings by era",
      "columns": [
        "Era",
        "Cards",
        "Sets",
        "Priced",
        "Priced share",
        "Median ask"
      ],
      "rows": [
        {
          "Era": "SV and Mega 2023-2026",
          "Cards": "4,922",
          "Sets": "29",
          "Priced": "4,874",
          "Priced share": "99.02%",
          "Median ask": "$0.22"
        },
        {
          "Era": "BW and XY 2011-2017",
          "Cards": "3,849",
          "Sets": "45",
          "Priced": "3,644",
          "Priced share": "94.67%",
          "Median ask": "$0.61"
        },
        {
          "Era": "Sword & Shield 2020-2022",
          "Cards": "3,689",
          "Sets": "25",
          "Priced": "3,662",
          "Priced share": "99.27%",
          "Median ask": "$0.33"
        },
        {
          "Era": "Sun & Moon 2017-2019",
          "Cards": "3,049",
          "Sets": "22",
          "Priced": "3,024",
          "Priced share": "99.18%",
          "Median ask": "$0.55"
        },
        {
          "Era": "Diamond & Pearl to HGSS 2007-2011",
          "Cards": "2,209",
          "Sets": "33",
          "Priced": "2,193",
          "Priced share": "99.28%",
          "Median ask": "$1.97"
        },
        {
          "Era": "EX 2003-2007",
          "Cards": "1,876",
          "Sets": "25",
          "Priced": "1,823",
          "Priced share": "97.17%",
          "Median ask": "$2.46"
        },
        {
          "Era": "WotC 1999-2003",
          "Cards": "1,790",
          "Sets": "18",
          "Priced": "1,783",
          "Priced share": "99.61%",
          "Median ask": "$7.39"
        },
        {
          "Era": "Promos and side products",
          "Cards": "524",
          "Sets": "24",
          "Priced": "432",
          "Priced share": "82.44%",
          "Median ask": "$2.13"
        },
        {
          "Era": "All",
          "Cards": "21,908",
          "Sets": "221",
          "Priced": "21,435",
          "Priced share": "97.84%",
          "Median ask": "$0.89"
        }
      ]
    },
    {
      "title": "Cards per English set, 221 sets",
      "columns": [
        "Percentile",
        "Cards in the set"
      ],
      "rows": [
        {
          "Percentile": "Smallest",
          "Cards in the set": "1"
        },
        {
          "Percentile": "10th",
          "Cards in the set": "12"
        },
        {
          "Percentile": "25th",
          "Cards in the set": "30"
        },
        {
          "Percentile": "Median",
          "Cards in the set": "101"
        },
        {
          "Percentile": "75th",
          "Cards in the set": "140"
        },
        {
          "Percentile": "90th",
          "Cards in the set": "216"
        },
        {
          "Percentile": "Largest",
          "Cards in the set": "302"
        }
      ]
    },
    {
      "title": "Attribute coverage",
      "columns": [
        "Attribute",
        "English (21,908)",
        "Japanese (37,948)"
      ],
      "rows": [
        {
          "Attribute": "A printed rarity",
          "English (21,908)": "97.11%",
          "Japanese (37,948)": "43.33%"
        },
        {
          "Attribute": "An illustrator credit",
          "English (21,908)": "92.97%",
          "Japanese (37,948)": "25.25%"
        },
        {
          "Attribute": "A marketplace product link",
          "English (21,908)": "97.90%",
          "Japanese (37,948)": "76.45%"
        },
        {
          "Attribute": "An image",
          "English (21,908)": "98.29%",
          "Japanese (37,948)": "78.72%"
        },
        {
          "Attribute": "Printing identity flags",
          "English (21,908)": "95.46%",
          "Japanese (37,948)": "0.00%"
        }
      ]
    }
  ],
  "charts": [
    {
      "title": "Median ask by era",
      "unit": "$",
      "note": "distinct physical English printings, TCGplayer market asks, 2026-09-23",
      "points": [
        {
          "label": "WotC 1999-2003",
          "value": 7.39,
          "basis": "1,783 priced"
        },
        {
          "label": "EX 2003-2007",
          "value": 2.46,
          "basis": "1,823 priced"
        },
        {
          "label": "DP/HGSS 2007-2011",
          "value": 1.97,
          "basis": "2,193 priced"
        },
        {
          "label": "BW/XY 2011-2017",
          "value": 0.61,
          "basis": "3,644 priced"
        },
        {
          "label": "Sun & Moon 2017-2019",
          "value": 0.55,
          "basis": "3,024 priced"
        },
        {
          "label": "Sword & Shield 2020-2022",
          "value": 0.33,
          "basis": "3,662 priced"
        },
        {
          "label": "SV/Mega 2023-2026",
          "value": 0.22,
          "basis": "4,874 priced"
        }
      ]
    }
  ],
  "sections": [
    "Six numbers, six different questions",
    "Two ways a catalog count goes wrong",
    "Where the rows come from",
    "The digital catalog hiding inside the paper one",
    "The English catalog by era",
    "How big is a Pokemon set",
    "What the catalog knows about each card",
    "The Japanese side is two catalogs, not one",
    "What this study cannot show",
    "What would overturn it"
  ],
  "method": [
    "Population: every row in the `cards` table on 2026-09-23, 63,600 rows, read from production. Two deduplication rules are applied in order. First, identity: rows are grouped on normalised set name, collector number, base card name and language using the same `cardIdentityKey` function the live read and write paths use, and the row carrying a marketplace id is kept. Second, product: rows sharing a `tcg_id` are one marketplace product whatever their set names say, and the surviving row is the one recording the most attributes among rarity, illustrator, printing flags and image, so the merge never destroys a field only one side had. The two rules remove 53 and 1,212 rows respectively. Pokemon TCG Pocket rows are identified by id namespace, the regular expression ^([AB]\\d+[a-z]?-\\d+|P-A-\\d+)$, which selects 2,480 rows across exactly 15 sets and nothing else; the image-path rule (/tcgp/) agrees on 2,351 of them and misses the whole of Paldean Wonders, so the id rule is the one used. Prices are TCGplayer market asks from the nightly product dump, resolved per card by the site's own ownedPriceFromDump rule including its printing-identity step, so the figure quoted here is the figure the card page shows; they are asks, not sold prices. A card counts as priced when that rule returns a value above zero. Medians are the upper-middle value on even samples. Eras are assigned from set name with the same table used across this wave; 524 cards in 24 promo and side-product sets are bucketed together rather than forced into an era. The scannable count replicates the scan index build rather than counting embeddings: the build selects rows carrying a non-empty perceptual hash, 52,561 of them, then drops the 193 whose hash is a single character and the 2,452 digital ids it excludes, leaving 49,916 card rows. Counting embeddings overstates it. 52,638 rows hold a non-null `emb2` or `emb3`, but 686 of those hold a one-character sentinel rather than a vector, which is why the build's own health probe counts the 51,952 rows with `LENGTH(emb2) > 8`."
  ],
  "terms": "Figures are moonstone's own recorded measurements, dated as published. Quote them with the population stated beside them. The article at `url` is the human form of this file."
}