Earlham is a city in Madison County, Iowa, United States. The population was 1,298 at the 2000 census. It is part of the Des Moines–West Des Moines Metropolitan Statistical Area.
Earlham is located at 41°29′35″N 94°7′25″W / 41.49306°N 94.12361°W / 41.49306; -94.12361 (41.493137, -94.123661).
According to the United States Census Bureau, the city has a total area of 1.0 square miles (2.5 km²), all of it land.