According to the U.S. Census Bureau, the county has a total area of 576 square miles (1,490 km2), of which 572 square miles (1,480 km2) is land and 3.7 square miles (9.6 km2) (0.6%) is water.
The southwest corner of Marion County is the intersection of the Baseline with the Third Principal Meridian, the point of origin for the third survey of the Northwest Territory under the Land Ordinance of 1785. The origin is marked with a boulder south of Centralia just off U.S. 51.
In recent years, average temperatures in the county seat of Salem have ranged from a low of 18 °F (−8 °C) in January to a high of 88 °F (31 °C) in July, although a record low of −23 °F (−31 °C) was recorded in January 1994 and a record high of 105 °F (41 °C) was recorded in August 1983. Average monthly precipitation ranged from 2.46 inches (62 mm) in January to 4.37 inches (111 mm) in May.
As of the 2010 United States Census, there were 39,437 people, 16,148 households, and 10,746 families residing in the county. The population density was 68.9 inhabitants per square mile (26.6/km2). There were 18,296 housing units at an average density of 32.0 per square mile (12.4/km2). The racial makeup of the county was 93.1% white, 3.9% black or African American, 0.6% Asian, 0.3% American Indian, 0.4% from other races, and 1.6% from two or more races. Those of Hispanic or Latino origin made up 1.4% of the population. In terms of ancestry, 27.5% were German, 15.8% were Irish, 13.6% were English, and 10.8% were American.
Of the 16,148 households, 30.9% had children under the age of 18 living with them, 48.9% were married couples living together, 12.8% had a female householder with no husband present, 33.5% were non-families, and 28.8% of all households were made up of individuals. The average household size was 2.40 and the average family size was 2.91. The median age was 41.4 years.
The median income for a household in the county was $38,974 and the median income for a family was $50,518. Males had a median income of $41,428 versus $28,042 for females. The per capita income for the county was $20,493. About 12.2% of families and 16.5% of the population were below the poverty line, including 23.9% of those under age 18 and 9.6% of those age 65 or over.