As of Generation VI (Pokémon X/Y), 171 out of the 719 known Pokémon can learn Surf through the use of HM03. The majority of these Pokémon are Water-types. Additionally, in older versions of Pokémon games, Pikachu, Pichu and Phione can learn Surf through special means.
Every Water-type starter Pokémon can learn Surf in any of its evolutionary stages. The physical size of the Pokémon or type is irrelevant in determining if a Pokémon can learn Surf, and one-third of the Pokémon that can learn the move are of a type other than Water.
While the animation used in-game for a surfing Pokémon is generic, certain games have special graphics if a certain Pokémon uses Surf. These include a Pikachu on a surfboard if a Pikachu uses surf in Generations I and II and a distinct animation of Lapras, Kyogre, Wailmer and Sharpedo if any of those Pokémon use Surf in Generation VI. Additionally, Kyogre and Sharpedo both move faster than other Pokémon when surfing with the following special effects: Kyogre has an increased hitbox, and Sharpedo prevents any fishing or wild Pokémon encounters.
As of Generation VI, Surf has a power level of 90 and an increased critical hit rate when used in battle, and it targets all adjacent opponents and allies in double and triple battles.