Choose a historical type chart
Calculate ordinary single- or dual-type factors with separate Generation I, II–V and VI–IX charts. This is conventional turn-based chart arithmetic, not full damage or Legends-title rules.
Conventional turn-based type-chart arithmetic · three historical chart scopes · not a damage simulator
Choose the incoming move’s type and one or two defensive types. We multiply the two interactions, not the species’ names or current stats. The result describes only the ordinary chart layer.
This is conventional turn-based type-chart arithmetic, not a promise about every game released in a generation. Pokémon Legends: Arceus and Pokémon Legends: Z-A are not implemented. Choose the move's and defender's types as they exist in the actual game; the tool does not look up species, forms or move changes. Abilities, items and move-specific exceptions remain outside the result.
Any two types can be combined for arithmetic. A result doesn't mean a Pokémon with that type pair exists in the selected games. A species' own typing may also change between games. Champions and future-title rules are not certified here.
Default inputs are a demonstration, not a matchup chosen by you.
Two calculations you can check
Ice against Dragon / Flying: 2 × 2 = 4. Both defensive types are weak to Ice in the displayed ordinary charts.
Ground against Electric / Flying: 2 × 0 = 0. The chart immunity overrides the other type’s weakness. A specific battle mechanic can change whether that immunity applies.
What this deliberately leaves out
Abilities, held items, weather, field effects, move-specific exceptions, temporary type changes, attack and defense stats, same-type attack bonus (STAB), critical hits and random damage rolls are not calculated. Fixed-damage moves and status moves do not become ordinary damaging moves because their type appears here. The original Gen I Night Shade behavior needs separate rules. Stellar Terastallization is not an ordinary extra defensive type: its user retains its original defensive types.
Pokémon GO, the physical TCG and TCG Pocket use different systems. This tool is not for them. A game-specific special battle mode also needs its own rules. No future unreleased title is certified by a historical chart.
In Generation I the chart lists Ghost → Psychic as 0×. In practice, Lick was the only damaging Ghost-type move that used the type chart. Night Shade dealt fixed damage equal to the user's level and, in Gen I, ignored type immunities, and Confuse Ray is a status move. The 0× entry is widely regarded as a programming mistake, and Gold/Silver changed it to 2×. This describes the historical implementation, not intended design.
Pokémon Database: historical Ghost interaction · Night Shade historical rule reference (facts only).
Readable tables, including without JavaScript
Attacking types are rows; defending types are columns. Every cell contains a number, so color is optional. Scroll each table horizontally if needed; keyboard focus makes the scroll area reachable. Without JavaScript or after data failure, open the needed historical table before browser Print. Closed tables are not promised in the printout.
Generation I — complete table
| Attack / defense | Normal | Fighting | Flying | Poison | Ground | Rock | Bug | Ghost | Fire | Water | Grass | Electric | Psychic | Ice | Dragon |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Normal | 1× | 1× | 1× | 1× | 1× | 0.5× | 1× | 0× | 1× | 1× | 1× | 1× | 1× | 1× | 1× |
| Fighting | 2× | 1× | 0.5× | 0.5× | 1× | 2× | 0.5× | 0× | 1× | 1× | 1× | 1× | 0.5× | 2× | 1× |
| Flying | 1× | 2× | 1× | 1× | 1× | 0.5× | 2× | 1× | 1× | 1× | 2× | 0.5× | 1× | 1× | 1× |
| Poison | 1× | 1× | 1× | 0.5× | 0.5× | 0.5× | 2× | 0.5× | 1× | 1× | 2× | 1× | 1× | 1× | 1× |
| Ground | 1× | 1× | 0× | 2× | 1× | 2× | 0.5× | 1× | 2× | 1× | 0.5× | 2× | 1× | 1× | 1× |
| Rock | 1× | 0.5× | 2× | 1× | 0.5× | 1× | 2× | 1× | 2× | 1× | 1× | 1× | 1× | 2× | 1× |
| Bug | 1× | 0.5× | 0.5× | 2× | 1× | 1× | 1× | 0.5× | 0.5× | 1× | 2× | 1× | 2× | 1× | 1× |
| Ghost | 0× | 1× | 1× | 1× | 1× | 1× | 1× | 2× | 1× | 1× | 1× | 1× | 0× | 1× | 1× |
| Fire | 1× | 1× | 1× | 1× | 1× | 0.5× | 2× | 1× | 0.5× | 0.5× | 2× | 1× | 1× | 2× | 0.5× |
| Water | 1× | 1× | 1× | 1× | 2× | 2× | 1× | 1× | 2× | 0.5× | 0.5× | 1× | 1× | 1× | 0.5× |
| Grass | 1× | 1× | 0.5× | 0.5× | 2× | 2× | 0.5× | 1× | 0.5× | 2× | 0.5× | 1× | 1× | 1× | 0.5× |
| Electric | 1× | 1× | 2× | 1× | 0× | 1× | 1× | 1× | 1× | 2× | 0.5× | 0.5× | 1× | 1× | 0.5× |
| Psychic | 1× | 2× | 1× | 2× | 1× | 1× | 1× | 1× | 1× | 1× | 1× | 1× | 0.5× | 1× | 1× |
| Ice | 1× | 1× | 2× | 1× | 2× | 1× | 1× | 1× | 1× | 0.5× | 2× | 1× | 1× | 0.5× | 2× |
| Dragon | 1× | 1× | 1× | 1× | 1× | 1× | 1× | 1× | 1× | 1× | 1× | 1× | 1× | 1× | 2× |
Generations II–V — complete table
| Attack / defense | Normal | Fighting | Flying | Poison | Ground | Rock | Bug | Ghost | Steel | Fire | Water | Grass | Electric | Psychic | Ice | Dragon | Dark |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Normal | 1× | 1× | 1× | 1× | 1× | 0.5× | 1× | 0× | 0.5× | 1× | 1× | 1× | 1× | 1× | 1× | 1× | 1× |
| Fighting | 2× | 1× | 0.5× | 0.5× | 1× | 2× | 0.5× | 0× | 2× | 1× | 1× | 1× | 1× | 0.5× | 2× | 1× | 2× |
| Flying | 1× | 2× | 1× | 1× | 1× | 0.5× | 2× | 1× | 0.5× | 1× | 1× | 2× | 0.5× | 1× | 1× | 1× | 1× |
| Poison | 1× | 1× | 1× | 0.5× | 0.5× | 0.5× | 1× | 0.5× | 0× | 1× | 1× | 2× | 1× | 1× | 1× | 1× | 1× |
| Ground | 1× | 1× | 0× | 2× | 1× | 2× | 0.5× | 1× | 2× | 2× | 1× | 0.5× | 2× | 1× | 1× | 1× | 1× |
| Rock | 1× | 0.5× | 2× | 1× | 0.5× | 1× | 2× | 1× | 0.5× | 2× | 1× | 1× | 1× | 1× | 2× | 1× | 1× |
| Bug | 1× | 0.5× | 0.5× | 0.5× | 1× | 1× | 1× | 0.5× | 0.5× | 0.5× | 1× | 2× | 1× | 2× | 1× | 1× | 2× |
| Ghost | 0× | 1× | 1× | 1× | 1× | 1× | 1× | 2× | 0.5× | 1× | 1× | 1× | 1× | 2× | 1× | 1× | 0.5× |
| Steel | 1× | 1× | 1× | 1× | 1× | 2× | 1× | 1× | 0.5× | 0.5× | 0.5× | 1× | 0.5× | 1× | 2× | 1× | 1× |
| Fire | 1× | 1× | 1× | 1× | 1× | 0.5× | 2× | 1× | 2× | 0.5× | 0.5× | 2× | 1× | 1× | 2× | 0.5× | 1× |
| Water | 1× | 1× | 1× | 1× | 2× | 2× | 1× | 1× | 1× | 2× | 0.5× | 0.5× | 1× | 1× | 1× | 0.5× | 1× |
| Grass | 1× | 1× | 0.5× | 0.5× | 2× | 2× | 0.5× | 1× | 0.5× | 0.5× | 2× | 0.5× | 1× | 1× | 1× | 0.5× | 1× |
| Electric | 1× | 1× | 2× | 1× | 0× | 1× | 1× | 1× | 1× | 1× | 2× | 0.5× | 0.5× | 1× | 1× | 0.5× | 1× |
| Psychic | 1× | 2× | 1× | 2× | 1× | 1× | 1× | 1× | 0.5× | 1× | 1× | 1× | 1× | 0.5× | 1× | 1× | 0× |
| Ice | 1× | 1× | 2× | 1× | 2× | 1× | 1× | 1× | 0.5× | 0.5× | 0.5× | 2× | 1× | 1× | 0.5× | 2× | 1× |
| Dragon | 1× | 1× | 1× | 1× | 1× | 1× | 1× | 1× | 0.5× | 1× | 1× | 1× | 1× | 1× | 1× | 2× | 1× |
| Dark | 1× | 0.5× | 1× | 1× | 1× | 1× | 1× | 2× | 0.5× | 1× | 1× | 1× | 1× | 2× | 1× | 1× | 0.5× |
Generations VI–IX — ordinary type chart — complete table
| Attack / defense | Normal | Fighting | Flying | Poison | Ground | Rock | Bug | Ghost | Steel | Fire | Water | Grass | Electric | Psychic | Ice | Dragon | Dark | Fairy |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Normal | 1× | 1× | 1× | 1× | 1× | 0.5× | 1× | 0× | 0.5× | 1× | 1× | 1× | 1× | 1× | 1× | 1× | 1× | 1× |
| Fighting | 2× | 1× | 0.5× | 0.5× | 1× | 2× | 0.5× | 0× | 2× | 1× | 1× | 1× | 1× | 0.5× | 2× | 1× | 2× | 0.5× |
| Flying | 1× | 2× | 1× | 1× | 1× | 0.5× | 2× | 1× | 0.5× | 1× | 1× | 2× | 0.5× | 1× | 1× | 1× | 1× | 1× |
| Poison | 1× | 1× | 1× | 0.5× | 0.5× | 0.5× | 1× | 0.5× | 0× | 1× | 1× | 2× | 1× | 1× | 1× | 1× | 1× | 2× |
| Ground | 1× | 1× | 0× | 2× | 1× | 2× | 0.5× | 1× | 2× | 2× | 1× | 0.5× | 2× | 1× | 1× | 1× | 1× | 1× |
| Rock | 1× | 0.5× | 2× | 1× | 0.5× | 1× | 2× | 1× | 0.5× | 2× | 1× | 1× | 1× | 1× | 2× | 1× | 1× | 1× |
| Bug | 1× | 0.5× | 0.5× | 0.5× | 1× | 1× | 1× | 0.5× | 0.5× | 0.5× | 1× | 2× | 1× | 2× | 1× | 1× | 2× | 0.5× |
| Ghost | 0× | 1× | 1× | 1× | 1× | 1× | 1× | 2× | 1× | 1× | 1× | 1× | 1× | 2× | 1× | 1× | 0.5× | 1× |
| Steel | 1× | 1× | 1× | 1× | 1× | 2× | 1× | 1× | 0.5× | 0.5× | 0.5× | 1× | 0.5× | 1× | 2× | 1× | 1× | 2× |
| Fire | 1× | 1× | 1× | 1× | 1× | 0.5× | 2× | 1× | 2× | 0.5× | 0.5× | 2× | 1× | 1× | 2× | 0.5× | 1× | 1× |
| Water | 1× | 1× | 1× | 1× | 2× | 2× | 1× | 1× | 1× | 2× | 0.5× | 0.5× | 1× | 1× | 1× | 0.5× | 1× | 1× |
| Grass | 1× | 1× | 0.5× | 0.5× | 2× | 2× | 0.5× | 1× | 0.5× | 0.5× | 2× | 0.5× | 1× | 1× | 1× | 0.5× | 1× | 1× |
| Electric | 1× | 1× | 2× | 1× | 0× | 1× | 1× | 1× | 1× | 1× | 2× | 0.5× | 0.5× | 1× | 1× | 0.5× | 1× | 1× |
| Psychic | 1× | 2× | 1× | 2× | 1× | 1× | 1× | 1× | 0.5× | 1× | 1× | 1× | 1× | 0.5× | 1× | 1× | 0× | 1× |
| Ice | 1× | 1× | 2× | 1× | 2× | 1× | 1× | 1× | 0.5× | 0.5× | 0.5× | 2× | 1× | 1× | 0.5× | 2× | 1× | 1× |
| Dragon | 1× | 1× | 1× | 1× | 1× | 1× | 1× | 1× | 0.5× | 1× | 1× | 1× | 1× | 1× | 1× | 2× | 1× | 0× |
| Dark | 1× | 0.5× | 1× | 1× | 1× | 1× | 1× | 2× | 1× | 1× | 1× | 1× | 1× | 2× | 1× | 1× | 0.5× | 0.5× |
| Fairy | 1× | 2× | 1× | 0.5× | 1× | 1× | 1× | 1× | 0.5× | 0.5× | 1× | 1× | 1× | 1× | 1× | 2× | 2× | 1× |
Where the numbers come from
PokéAPI supplied third-party numerical metadata. The integrator compared the 838 ordinary-chart entries with Pokémon Database's current and historical reference tables. This checks reference data, not every interaction in a game. Independent specialist review of this scoped snapshot was completed; its required corrections were applied. No gameplay or manual assistive-technology certification is claimed.
Dataset version 0.1; the approved release retains the reviewed numerical values. Read the 18-record cached-source provenance and inclusive-snapshot transformation. Hashes and cached-access timestamps distinguish prior snapshots from the unsuccessful refresh, rather than claiming an unperformed live API audit. The independent reviewers' actual checks are attributed separately.
- PokéAPI type resource documentation — generation snapshots, BSD project attribution retained.
- Historical type interactions — independent numerical cross-check.
- Current ordinary type interactions — independent numerical cross-check.
- Official Stellar defensive-type explanation.
PokéAPI project notice and franchise-rights limits · Bundled BSD project notice.
Source check November 7, 2026 PST. No reference-site markup, artwork, prose or icons imported. Independent conditional reviews completed; required scope/provenance corrections applied. See the release receipt for their bounded methods. No official battle-rule authority is implied.