Beacon is a city in Mahaska County, Iowa, United States. The population was 494 at the 2010 census.