At Lvl 22 I think.
Edit
Actually, it's level 20.
Chat with our AI personalities
catch a magikarp and evolve it
A Magikarp should evolve at about lvl 40 on Pokemon diamond
Magikarp evolve at level 20.
In Pokémon Emerald, you can catch a wild Gyarados by fishing for one in Sootopolis City additionally you can catch wild Magikarp in all bodies of water with the Old Rod fishing item and then after catching Magikarp you can raise it until it reaches the level of Level 20 at which point Magikarp will evolve into Gyarados.
20