← Back to IV Calc
18 × 18 REFERENCE GRID

Pokémon Type Chart

Pick one type for an immediate offensive and defensive breakdown, then read every modern matchup in the complete 18-by-18 reference grid.

input channel

Offense: Grass, Ice, Bug, Steel. Defense weaknesses: Water, Ground, Rock.

live result

Fire type profile

Hits 4 types super effectively · weak to 3

super effective against
GrassIceBugSteel
not very effective against
FireWaterRockDragon
no effect on
None
weak to
WaterGroundRock
resists
FireGrassIceBugSteelFairy
immune to
None

Complete 18-type chart

Rows attack; columns defend. Lime marks 2×, magenta marks ½× or immunity, and a dot is neutral 1×. Read across a row for offense and down a column for defense.

ATK↓ / DEF→norfirwatelegraicefigpoigroflypsybugrocghodradarstefai
nor············0.50··0.5·
fir·0.50.5·22·····20.5·0.5·2·
wat·20.5·0.5···2···2·0.5···
ele··20.50.5···02····0.5···
gra·0.52·0.5··0.520.5·0.52·0.5·0.5·
ice·0.50.5·20.5··22····2·0.5·
fig2····2·0.5·0.50.50.520·220.5
poi····2··0.50.5···0.50.5··02
gro·2·20.5··2·0·0.52···2·
fly···0.52·2····20.5···0.5·
psy······22··0.5····00.5·
bug·0.5··2·0.50.5·0.52··0.5·20.50.5
roc·2···20.5·0.52·2····0.5·
gho0·········2··2·0.5··
dra··············2·0.50
dar······0.5···2··2·0.5·0.5
ste·0.50.50.5·2······2···0.52
fai·0.5····20.5······220.5·

Per-type breakdown

Normal

Attacks: super effective against none; resisted by Rock, Steel; no effect on Ghost.

Defends: weak to Fighting; resists none; immune to Ghost.

Fire

Attacks: super effective against Grass, Ice, Bug, Steel; resisted by Fire, Water, Rock, Dragon; no effect on none.

Defends: weak to Water, Ground, Rock; resists Fire, Grass, Ice, Bug, Steel, Fairy; immune to none.

Water

Attacks: super effective against Fire, Ground, Rock; resisted by Water, Grass, Dragon; no effect on none.

Defends: weak to Electric, Grass; resists Fire, Water, Ice, Steel; immune to none.

Electric

Attacks: super effective against Water, Flying; resisted by Electric, Grass, Dragon; no effect on Ground.

Defends: weak to Ground; resists Electric, Flying, Steel; immune to none.

Grass

Attacks: super effective against Water, Ground, Rock; resisted by Fire, Grass, Poison, Flying, Bug, Dragon, Steel; no effect on none.

Defends: weak to Fire, Ice, Poison, Flying, Bug; resists Water, Electric, Grass, Ground; immune to none.

Ice

Attacks: super effective against Grass, Ground, Flying, Dragon; resisted by Fire, Water, Ice, Steel; no effect on none.

Defends: weak to Fire, Fighting, Rock, Steel; resists Ice; immune to none.

Fighting

Attacks: super effective against Normal, Ice, Rock, Dark, Steel; resisted by Poison, Flying, Psychic, Bug, Fairy; no effect on Ghost.

Defends: weak to Flying, Psychic, Fairy; resists Bug, Rock, Dark; immune to none.

Poison

Attacks: super effective against Grass, Fairy; resisted by Poison, Ground, Rock, Ghost; no effect on Steel.

Defends: weak to Ground, Psychic; resists Grass, Fighting, Poison, Bug, Fairy; immune to none.

Ground

Attacks: super effective against Fire, Electric, Poison, Rock, Steel; resisted by Grass, Bug; no effect on Flying.

Defends: weak to Water, Grass, Ice; resists Poison, Rock; immune to Electric.

Flying

Attacks: super effective against Grass, Fighting, Bug; resisted by Electric, Rock, Steel; no effect on none.

Defends: weak to Electric, Ice, Rock; resists Grass, Fighting, Bug; immune to Ground.

Psychic

Attacks: super effective against Fighting, Poison; resisted by Psychic, Steel; no effect on Dark.

Defends: weak to Bug, Ghost, Dark; resists Fighting, Psychic; immune to none.

Bug

Attacks: super effective against Grass, Psychic, Dark; resisted by Fire, Fighting, Poison, Flying, Ghost, Steel, Fairy; no effect on none.

Defends: weak to Fire, Flying, Rock; resists Grass, Fighting, Ground; immune to none.

Rock

Attacks: super effective against Fire, Ice, Flying, Bug; resisted by Fighting, Ground, Steel; no effect on none.

Defends: weak to Water, Grass, Fighting, Ground, Steel; resists Normal, Fire, Poison, Flying; immune to none.

Ghost

Attacks: super effective against Psychic, Ghost; resisted by Dark; no effect on Normal.

Defends: weak to Ghost, Dark; resists Poison, Bug; immune to Normal, Fighting.

Dragon

Attacks: super effective against Dragon; resisted by Steel; no effect on Fairy.

Defends: weak to Ice, Dragon, Fairy; resists Fire, Water, Electric, Grass; immune to none.

Dark

Attacks: super effective against Psychic, Ghost; resisted by Fighting, Dark, Fairy; no effect on none.

Defends: weak to Fighting, Bug, Fairy; resists Ghost, Dark; immune to Psychic.

Steel

Attacks: super effective against Ice, Rock, Fairy; resisted by Fire, Water, Electric, Steel; no effect on none.

Defends: weak to Fire, Fighting, Ground; resists Normal, Grass, Ice, Flying, Psychic, Bug, Rock, Dragon, Steel, Fairy; immune to Poison.

Fairy

Attacks: super effective against Fighting, Dragon, Dark; resisted by Fire, Poison, Steel; no effect on none.

Defends: weak to Poison, Steel; resists Fighting, Bug, Dark; immune to Dragon.

How the pokémon type chart works

This Pokémon type chart is a reference for all 18 modern types and a focused reader for one selected type. The compact tool first separates what the chosen type does when attacking from what happens when it defends. That direction matters: Ground attacks have no effect on Flying defenders, while a Ground defender has a different set of weaknesses and resistances. The full matrix below keeps attacks on rows and defenses in columns so the direction never has to be guessed.

single type=chart[attack][defense]dual-type defense=chart[attack][type 1]×chart[attack][type 2]\begin{aligned} \text{single type} &= \text{chart}[\text{attack}][\text{defense}] \\ \text{dual-type defense} &= \text{chart}[\text{attack}][\text{type 1}] \times \text{chart}[\text{attack}][\text{type 2}] \end{aligned}
The symbols are defined in the surrounding method, and every input stays in the shareable URL.

Start at an attacking row and move across to the defending column. A 2 means super effective, 0.5 means not very effective, 0 means no effect, and the neutral dot means 1×. Reading down a column answers the opposite question: which attacking types are strong, weak, or ineffective against that defender? The filtered groups above the chart calculate both directions for the selected type, which is faster when you need one profile and still leaves the complete table available for comparison.

Dual defensive types multiply rather than add. Fire attacking Grass/Steel reads 2× against Grass and 2× against Steel, producing 4×. Fire attacking Water/Dragon reads 0.5× twice, producing 0.25×. Ground attacking Flying/Steel produces 0 × 2 = 0, because the Flying immunity controls the product. A weakness and a resistance can cancel to neutral 1×. The grid itself contains single-type cells; use those cells as factors or open the type calculator to perform the complete dual-type lookup directly.

The chart does not include same-type attack bonus in its cell values. STAB is normally a separate 1.5× damage modifier when a move’s type matches the attacker, while type effectiveness describes the defender relationship. Abilities, move-specific rules, temporary forms, field effects, and older generation charts can override or replace modern values. The table therefore answers one exact question: what multiplier follows from the current ordinary 18-type chart before those additional battle rules are applied?

Worked example

Read the Ground row and Flying column to find 0×: an ordinary Ground attack cannot affect a Flying defender. In the Fighting row and Fairy column, the value is 0.5×, so Fairy resists Fighting. Reading the Steel defensive column reveals ten resisted attacking types, one Poison immunity, three weaknesses, and four neutral relationships. For a Fire attack into Grass/Steel, multiply the Fire-versus-Grass cell 2 by the Fire-versus-Steel cell 2 to get 4×.

How to read the result

Use the selected profile when learning one type and the matrix when comparing several matchups. The offensive groups describe targets that moves of the selected type pressure; the defensive groups describe attacks that pressure a creature of the selected type. This page is the reference hub. The Pokémon type calculator is the faster task tool for one attacking type against a particular single or dual defender, while the coverage calculator compares several attacking types across all pure targets.

Common questions

How do I read the Pokémon type chart?
Choose the attacking type on the left row, then the defending type across the top. Their cell is the ordinary effectiveness multiplier.
Why are attacking rows and defending columns different?
Type relationships are directional. A type can hit another super effectively without receiving the same multiplier in return.
How do dual Pokémon types use the chart?
Multiply the two cells for the same attacking row. Two weaknesses make 4×, while an immunity makes the full product zero.
Does the chart include STAB or abilities?
No. It shows ordinary type effectiveness. STAB, abilities, special moves, items, and field effects are separate modifiers.

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.

  1. Bulbapedia — Type (reviewed 2026)Modern 18-type effectiveness relationships and dual-type multiplication.
  2. Bulbapedia — Same-type attack bonus (reviewed 2026)Native-type attack context used by the STAB-only coverage model.
  3. PokeAPI v2 Pokémon and type resources (local snapshot prepared 2026)The committed 255-record species pool, stored typings, identifiers, and type-chart cross-check.

Related calculators

Reserved ad space