Pokémon Type Calculator
Check attacking type effectiveness against any single or dual Pokémon type with the complete modern 18-type matchup chart.
input channel
live result
Neutral
Complete 18-type chart
Rows attack; columns defend. Use this compact reference here, or open the full Pokémon type chart for filtered offensive and defensive profiles.
| ATK↓ / DEF→ | nor | fir | wat | ele | gra | ice | fig | poi | gro | fly | psy | bug | roc | gho | dra | dar | ste | fai |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| nor | · | · | · | · | · | · | · | · | · | · | · | · | 0.5 | 0 | · | · | 0.5 | · |
| fir | · | 0.5 | 0.5 | · | 2 | 2 | · | · | · | · | · | 2 | 0.5 | · | 0.5 | · | 2 | · |
| wat | · | 2 | 0.5 | · | 0.5 | · | · | · | 2 | · | · | · | 2 | · | 0.5 | · | · | · |
| ele | · | · | 2 | 0.5 | 0.5 | · | · | · | 0 | 2 | · | · | · | · | 0.5 | · | · | · |
| gra | · | 0.5 | 2 | · | 0.5 | · | · | 0.5 | 2 | 0.5 | · | 0.5 | 2 | · | 0.5 | · | 0.5 | · |
| ice | · | 0.5 | 0.5 | · | 2 | 0.5 | · | · | 2 | 2 | · | · | · | · | 2 | · | 0.5 | · |
| fig | 2 | · | · | · | · | 2 | · | 0.5 | · | 0.5 | 0.5 | 0.5 | 2 | 0 | · | 2 | 2 | 0.5 |
| poi | · | · | · | · | 2 | · | · | 0.5 | 0.5 | · | · | · | 0.5 | 0.5 | · | · | 0 | 2 |
| gro | · | 2 | · | 2 | 0.5 | · | · | 2 | · | 0 | · | 0.5 | 2 | · | · | · | 2 | · |
| fly | · | · | · | 0.5 | 2 | · | 2 | · | · | · | · | 2 | 0.5 | · | · | · | 0.5 | · |
| psy | · | · | · | · | · | · | 2 | 2 | · | · | 0.5 | · | · | · | · | 0 | 0.5 | · |
| bug | · | 0.5 | · | · | 2 | · | 0.5 | 0.5 | · | 0.5 | 2 | · | · | 0.5 | · | 2 | 0.5 | 0.5 |
| roc | · | 2 | · | · | · | 2 | 0.5 | · | 0.5 | 2 | · | 2 | · | · | · | · | 0.5 | · |
| gho | 0 | · | · | · | · | · | · | · | · | · | 2 | · | · | 2 | · | 0.5 | · | · |
| dra | · | · | · | · | · | · | · | · | · | · | · | · | · | · | 2 | · | 0.5 | 0 |
| dar | · | · | · | · | · | · | 0.5 | · | · | · | 2 | · | · | 2 | · | 0.5 | · | 0.5 |
| ste | · | 0.5 | 0.5 | 0.5 | · | 2 | · | · | · | · | · | · | 2 | · | · | · | 0.5 | 2 |
| fai | · | 0.5 | · | · | · | · | 2 | 0.5 | · | · | · | · | · | · | 2 | 2 | 0.5 | · |
How the pokémon type calculator works
A Pokémon type calculator multiplies the attacking type’s relationship with each defending type. One super-effective matchup is 2×, resistance is ½×, and immunity is 0×. With two defender types the products create 4× weaknesses, ¼× resistances, ordinary 2× and ½× cases, neutral 1×, or an immunity that remains zero.
Select an attacking type and one or two different defending types. The matrix uses the modern 18-type chart: Fairy is included, Steel’s current resistance set is used, and no generation-specific pre-Fairy chart is substituted. The colored swatches are original interface marks; abbreviations and multipliers carry the information without third-party artwork.
STAB is separate from type effectiveness. A same-type attack usually gains 1.5× and then multiplies by the matchup result. Abilities such as Levitate, Flash Fire, or Wonder Guard can override what the basic type chart implies, while moves such as Freeze-Dry carry special effectiveness rules. This tool deliberately answers the chart question before those move and ability exceptions.
Order does not matter for a dual defender because multiplication is commutative. Fire into Grass/Steel is 2 × 2 = 4. Ground into Flying/Steel is 0 × 2 = 0 because the immunity dominates. If a battle temporarily changes a type through Terastallization or another mechanic, enter the active defensive type rather than the species’ usual pair.
Worked example
Choose Fire as the attack and Grass plus Steel as the defense. Fire is super effective against Grass and against Steel, so 2 × 2 = 4×. Against Water/Dragon, Fire is resisted by both: 0.5 × 0.5 = 0.25×. Those are chart multipliers before STAB, weather, abilities, items, or the random damage roll.
How to read the result
A large multiplier identifies a matchup opportunity, not guaranteed damage. Base power, attacking and defending stats, level, STAB, and battle modifiers still matter. An immunity produces zero for an ordinary damaging move even if the other type is weak. Confirm ability-based immunities separately.
Common questions
How is dual-type weakness calculated?
Does the type calculator include abilities?
Is STAB part of the displayed multiplier?
Why does an immunity override a weakness?
Sources
Formula and table references are named with the review year. The calculations run entirely from the reviewed local snapshot; no third-party service is called when you change an input.
- Bulbapedia — Type (reviewed 2026) — Modern 18-type effectiveness matrix and generation context.
- PokeAPI v2 type resources (snapshot reviewed 2026) — Independent cross-check of type names and damage relations.
- Bulbapedia — Same-type attack bonus (reviewed 2026) — Separates STAB from matchup effectiveness.