Type-effectiveness-chart (for Generation I)

 
  Defending type
Normal Fire Water Grass Electric Ice Fighting Poison Ground Flying Psychic Bug Rock Ghost Dragon
A
t
t
a
c
k
i
n
g

t
y
p
e
Normal ½×
Fire ½×½×½×½×
Water ½×½×½×
Grass ½×½×½×½×½×½×
Electric ½×½×½×
Ice ½×½×
Fighting ½×½×½×½×
Poison ½×½×½×½×
Ground ½×½×
Flying ½×½×
Psychic ½×
Bug ½×½×½×½×
Rock ½×½×
Ghost
Dragon

Note:
This chart applies to games from Generation I, including relevant spinoffs.

Dual-type calculation:
To calculate the type effectiveness of a move on a dual-typed Pokémon, take the effectiveness of the attacking move on both types and multiply them together. For example, to calculate the damage an Electric-type move does to Dragonite (Dragon/Flying), we take Electric's effectiveness on the Dragon type (½×) and on the Flying type (2×) and multiply them together:
½ × 2 = 1 → Electric-type moves have a neutral (1×) effect on Dragonite.