As of the census of 2000, there were 22,763 people, 6,547 households, and 5,067 families residing in the county. The population density was 14 people per square mile (6/km²). There were 7,879 housing units at an average density of 5 per square mile (2/km²). The racial makeup of the county was 92.43% White, 0.31% Black or African American, 0.87% Native American, 0.48% Asian, 0.36% Pacific Islander, 4.06% from other races, and 1.49% from two or more races. 6.63% of the population were Hispanic or Latino of any race.
In 2005 Sanpete County had a population that was 88.7% non-Hispanic whites. African Americans now constituted 0.5% of the population. Native Americans were 1.0% of the population. Asians were 0.8% of the population. Pacific Islanders were growing faster in numbers than Asians and were tied with Asians at 0.8%. 8.1% of the population was now Latino.
There were 6,547 households out of which 43.40% had children under the age of 18 living with them, 67.00% were married couples living together, 7.20% had a female householder with no husband present, and 22.60% were non-families. 17.80% of all households were made up of individuals and 10.10% had someone living alone who was 65 years of age or older. The average household size was 3.27 and the average family size was 3.68.
In the county, the population was spread out with 33.20% under the age of 18, 16.40% from 18 to 24, 21.80% from 25 to 44, 17.80% from 45 to 64, and 10.80% who were 65 years of age or older. The median age was 25 years. For every 100 females there were 102.40 males. For every 100 females age 18 and over, there were 100.90 males.
The median income for a household in the county was $33,042, and the median income for a family was $37,796. Males had a median income of $30,527 versus $19,974 for females. The per capita income for the county was $12,442. About 10.40% of families and 15.90% of the population were below the poverty line, including 13.90% of those under age 18 and 9.60% of those age 65 or over.