Type chart

Row is the attacking type, column is the defending type. Empty cells are neutral (1×) matchups.

Current-generation matchups, which is what Cobblemon uses. Steel lost its Ghost and Dark resistances in Gen 6, and Fairy did not exist before it.
Normal Fire Water Electric Grass Ice Fighting Poison Ground Flying Psychic Bug Rock Ghost Dragon Dark Steel Fairy
Normal ½ 0 ½
Fire ½ ½ 2 2 2 ½ ½ 2
Water 2 ½ ½ 2 2 ½
Electric 2 ½ ½ 0 2 ½
Grass ½ 2 ½ ½ 2 ½ ½ 2 ½ ½
Ice ½ ½ 2 ½ 2 2 2 ½
Fighting 2 2 ½ ½ ½ ½ 2 0 2 2 ½
Poison 2 ½ ½ ½ ½ 0 2
Ground 2 2 ½ 2 0 ½ 2 2
Flying ½ 2 2 2 ½ ½
Psychic 2 2 ½ 0 ½
Bug ½ 2 ½ ½ ½ 2 ½ 2 ½ ½
Rock 2 2 ½ ½ 2 2 ½
Ghost 0 2 2 ½
Dragon 2 ½ 0
Dark ½ 2 2 ½ ½
Steel ½ ½ ½ 2 2 ½ 2
Fairy ½ 2 ½ 2 2 ½