According to the United States Census Bureau, Osceola Township covers an area of 32.13 square miles (83.23 square kilometers); of this, 25.71 square miles (66.6 square kilometers, 80.02 percent) is land and 6.42 square miles (16.63 square kilometers, 19.98 percent) is water.