Pokemon Egg Groups
There are 14 egg groups in Pokemon. Egg groups determine which Pokemon can breed with each other. Two Pokemon can produce an egg if they share at least one egg group.
How Pokemon Breeding Works
Shared Egg Group
Two Pokemon can breed if they share at least one egg group. The offspring is always the same species as the mother (or non-Ditto parent).
Ditto
Ditto can breed with any Pokemon except those in the "No Eggs Discovered" group. Ditto is in its own egg group and is the universal breeding partner.
Egg Moves
Pokemon can inherit special moves from their parents that they can't learn normally. These are called egg moves and are passed down through breeding.