Selma is an unincorporated community in northwestern Van Buren County, Iowa, United States. It lies along Iowa Highway 16 northwest of the city of Keosauqua, the county seat of Van Buren County. Its elevation is 617 feet (188 m). Although Selma is unincorporated, it has a post office with the ZIP code of 52588. The post office was originally opened as the Hickory post office on 10 September 1874, and its name was changed to Selma on 24 April 1882.