Denmark is an unincorporated community and census-designated place in northeastern Lee County, Iowa, United States. It lies along Iowa Highway 16 north of the city of Fort Madison, the county seat of Lee County. Its elevation is 722 feet (220 m). Although Denmark is unincorporated, it has a post office with the ZIP code of 52624, that opened on April 7, 1846. The community is part of the Fort Madison–Keokuk, IA-MO Micropolitan Statistical Area. As of the 2010 Census the population of Denmark, Iowa was 423.
Denmark was laid out about 1837.