Marion is a village in Osceola County in the U.S. state of Michigan. The population was 872 at the 2010 census. The village is located within Marion Township.