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. According to the United States Census Bureau, the village has a total area of 1.39 square miles, of which 1.35 square miles is land and 0.04 square miles is water.