Skip to content
PokeBonk.gg

PokeBonk type chart: how type damage really works

Updated

Play PokeBonk now

The PokeBonk type chart is the classic 18-type Pokémon chart with softer numbers: a super effective hit multiplies damage by 1.35, a resisted hit by 0.8, a classic immunity by 0.5, and the result is clamped between 0.4 and 1.8. The game’s help text still says x2, x0.5 and x0, which is no longer what the code does. This page lists the real rule, worked examples and what it means for your starter. Checked on October 22, 2026 against version 0.8.13.

The PokeBonk type chart in one table

The game stores one classic chart: attacker types in rows, defender types in columns, with values 0, 0.5, 1 and 2. Of the 324 attacker and defender pairs, 51 are classic super effective, 61 are resisted, 8 are immune and 204 are neutral. PokeBonk then converts each classic value like this:

Classic value Help text says PokeBonk applies
2 (super effective) x2 x1.35
1 (neutral) x1 x1
0.5 (resisted) x0.5 x0.8
0 (immune) x0 x0.5

The full grid, all 18 types by 18, is shown on this page and built from the same data file, so it matches the game.

Full PokeBonk type chart

Attacking type (rows) against defending type (columns). Big number: what PokeBonk applies. Small number: the classic value. Neutral cells (×1) are faded. Single-type multipliers from the game code. Dual types multiply both values, clamped between ×0.4 and ×1.8.

Attacker ↓ Defender →NorFigFlyPoiGroRocBugGhoSteFirWatGraElePsyIceDraDarFai
Normal111110.8(0.5)10.5(0)0.8(0.5)111111111
Fighting1.35(2)10.8(0.5)0.8(0.5)11.35(2)0.8(0.5)0.5(0)1.35(2)11110.8(0.5)1.35(2)11.35(2)0.8(0.5)
Flying11.35(2)1110.8(0.5)1.35(2)10.8(0.5)111.35(2)0.8(0.5)11111
Poison1110.8(0.5)0.8(0.5)0.8(0.5)10.8(0.5)0.5(0)111.35(2)111111.35(2)
Ground110.5(0)1.35(2)11.35(2)0.8(0.5)11.35(2)1.35(2)10.8(0.5)1.35(2)11111
Rock10.8(0.5)1.35(2)10.8(0.5)11.35(2)10.8(0.5)1.35(2)11111.35(2)111
Bug10.8(0.5)0.8(0.5)0.8(0.5)1110.8(0.5)0.8(0.5)0.8(0.5)11.35(2)11.35(2)111.35(2)0.8(0.5)
Ghost0.5(0)1111111.35(2)111111.35(2)110.8(0.5)1
Steel111111.35(2)110.8(0.5)0.8(0.5)0.8(0.5)10.8(0.5)11.35(2)111.35(2)
Fire111110.8(0.5)1.35(2)11.35(2)0.8(0.5)0.8(0.5)1.35(2)111.35(2)0.8(0.5)11
Water11111.35(2)1.35(2)1111.35(2)0.8(0.5)0.8(0.5)1110.8(0.5)11
Grass110.8(0.5)0.8(0.5)1.35(2)1.35(2)0.8(0.5)10.8(0.5)0.8(0.5)1.35(2)0.8(0.5)1110.8(0.5)11
Electric111.35(2)10.5(0)111111.35(2)0.8(0.5)0.8(0.5)110.8(0.5)11
Psychic11.35(2)11.35(2)11110.8(0.5)11110.8(0.5)110.5(0)1
Ice111.35(2)11.35(2)1110.8(0.5)0.8(0.5)0.8(0.5)1.35(2)110.8(0.5)1.35(2)11
Dragon111111110.8(0.5)1111111.35(2)10.5(0)
Dark10.8(0.5)111111.35(2)111111.35(2)110.8(0.5)0.8(0.5)
Fairy11.35(2)10.8(0.5)11110.8(0.5)0.8(0.5)111111.35(2)1.35(2)1

Why the help text and the code disagree

PokeBonk is a free browser game that changes almost daily, and its in-game help line says: “x2 if super effective, x0.5 if resisted, x0 if immune”. The function that decides damage, however, applies 1.35 when the classic value is 2 or more, 0.5 when it is 0, and 0.8 when it is 0.5 or lower. When help text and code disagree, the code decides, so this PokeBonk type chart follows the code. The effect is that type matters, but it never decides a fight on its own: nothing is fully immune and the chart alone never doubles your damage.

How dual types stack

Many enemies have two types. PokeBonk multiplies the two single-type results, then clamps the product to a minimum of 0.4 and a maximum of 1.8. Possible results include 1.8, 1.35, 1.08, 1, 0.8, 0.675, 0.64, 0.5 and 0.4.

Worked examples, all read from the game’s chart data:

  • Fire against Grass and Bug (Paras): 1.35 x 1.35 = 1.8225, clamped to 1.8.
  • Fire against Grass only: 1.35.
  • Normal against Ghost (Gastly): 0.5, so Normal moves still deal half damage.
  • Normal against Ghost and Steel: 0.5 x 0.8 = 0.4, the floor.
  • Water against Rock and Ground (Geodude, Onix): 1.8.
  • Ground against Fire and Flying: Ground is super effective against Fire (1.35) but Flying is a classic immunity (0.5), so the product is 0.675.
  • Grass against Fire and Flying: 0.8 x 0.8 = 0.64.

On top of this, a move gets x1.25 when it matches your Pokémon’s own type, and the “Super effective damage” stat only multiplies hits whose type result is above 1.01. Those are separate steps from the chart.

What the chart means for each starter

These are our readings of the numbers, not a tier list. Read the builds guide for the full starter plans and the Pokédex to see enemy types.

  • Charmander (Fire): x1.35 against Grass, Bug, Ice and Steel; x0.8 against Fire, Water, Rock and Dragon. Viridian Forest draws mostly Grass, Bug, Normal and Flying enemies, so Fire looks like a comfortable pick there.
  • Bulbasaur (Grass): x1.35 against Water, Ground and Rock; x0.8 against seven types, including Fire, Flying, Poison and Bug. Rocky Desert draws Ground, Rock and Fighting enemies, which suits Grass.
  • Squirtle (Water): x1.35 against Fire, Ground and Rock; x0.8 against Water, Grass and Dragon.

The map type lists above come from the game’s map data, where they filter which wild Pokémon appear. We have not counted spawns in play.

Most useful PokeBonk type chart matchups

Your move type x1.35 against x0.8 against x0.5 against
Fire Grass, Bug, Ice, Steel Fire, Water, Rock, Dragon none
Water Fire, Ground, Rock Water, Grass, Dragon none
Grass Water, Ground, Rock Fire, Grass, Poison, Flying, Bug, Dragon, Steel none
Electric Water, Flying Grass, Electric, Dragon Ground
Ice Grass, Ground, Flying, Dragon Fire, Water, Ice, Steel none
Normal none Rock, Steel Ghost
Ground Fire, Electric, Poison, Rock, Steel Grass, Bug Flying

Defense uses the chart too

Enemy attacks are also scaled by their type against your Pokémon’s types. Incoming damage uses a narrower clamp of 0.5 to 1.6, so even a double weakness hurts a little less than it would on offense. Charizard, which is Fire and Flying, takes at most 1.6 from a Rock move instead of 1.8.

Tips for using the PokeBonk type chart

  1. Match your highest-damage move to the enemy, not to your Pokémon. The chart uses the move’s type.
  2. Aim for dual weaknesses, such as Water against Rock and Ground, because they reach 1.8.
  3. Do not fear a resisted type. 0.8 is a small loss, and x0.4 needs two stacked penalties.
  4. Use the colored arrows over enemies in a run, which show the matchup for your current move.
  5. Check PokeBonk updates for balance changes; the type numbers may change with patches.

This PokeBonk type chart is an unofficial fan guide. We do not host the game: play it at pokebonk.com.

Frequently asked questions

Is there a full PokeBonk type chart with every matchup?

Yes. The grid on this page is rendered from the game's own types file, which lists 18 types. Each cell shows the classic value and the multiplier PokeBonk actually applies. The compact table on this page only covers the matchups that matter most for the three starters.

Why does the in-game help say x2 but my damage is x1.35?

The help text is outdated. Version 0.8.13 of the game code turns a classic x2 into x1.35, a classic x0.5 into x0.8 and a classic x0 into x0.5. The help line was not updated, so trust the code values in our PokeBonk type chart and the numbers on the move sheets.

Can an enemy be fully immune to my attack in PokeBonk?

No. A classic immunity such as Normal against Ghost becomes x0.5, so the attack still lands. Two stacked penalties can go as low as x0.4, which is the floor for any single hit.

What is the highest type multiplier in PokeBonk?

The ceiling is x1.8. A dual-type enemy that is weak to your move twice multiplies out to about x1.82, and the code clamps the result to 1.8. Fire against Grass and Bug Paras is one example.

Does this page cover every type and every effect in PokeBonk?

No. We only cover the 18 types in the game's type file; a Stellar label appears in the language files but has no matchups. We also read these numbers from the code of version 0.8.13 and have not measured each one in play, and the developer changes the game often, so check the patch notes if a number looks wrong.