According to the United States Census Bureau, the city has a total area of, all of it land. The city of Freeport is located within Oak Township geographically but is a separate entity. Freeport is located along Interstate 94/U.S. Highway 52. Other routes include Stearns County Roads 11 and 157. Getchell Creek flows nearby.
As of the census of 2010, there were 632 people, 271 households, and 184 families living in the city. The population density was. There were 280 housing units at an average density of. The racial makeup of the city was 97.0% White, 0.3% Native American, 0.2% Asian, and 2.5% from other races. Hispanic or Latino of any race were 4.6% of the population. There were 271 households, of which 26.2% had children under the age of 18 living with them, 59.4% were married couplesliving together, 5.2% had a female householder with no husband present, 3.3% had a male householder with no wife present, and 32.1% were non-families. 26.2% of all households were made up of individuals, and 15.8% had someone living alone who was 65 years of age or older. The average household size was 2.33 and the average family size was 2.76. The median age in the city was 37 years. 18.2% of residents were under the age of 18; 8.4% were between the ages of 18 and 24; 29.1% were from 25 to 44; 24.7% were from 45 to 64; and 19.6% were 65 years of age or older. The gender makeup of the city was 50.8% male and 49.2% female.
2000 census
As of the census of 2000, there were 454 people, 190 households, and 132 families living in the city. The population density was 514.3 people per square mile. There were 199 housing units at an average density of 225.4 per square mile. The racial makeup of the city was 99.34% White, 0.22% from other races, and 0.44% from two or more races. Hispanic or Latino of any race were 0.88% of the population. There were 190 households, out of which 26.8% had children under the age of 18 living with them, 60.0% were married couples living together, 5.8% had a female householder with no husband present, and 30.5% were non-families. 27.4% of all households were made up of individuals, and 21.1% had someone living alone who was 65 years of age or older. The average household size was 2.39 and the average family size was 2.88. In the city, the population was spread out, with 24.7% under the age of 18, 7.9% from 18 to 24, 23.1% from 25 to 44, 19.6% from 45 to 64, and 24.7% who were 65 years of age or older. The median age was 41 years. For every 100 females, there were 94.8 males. For every 100 females age 18 and over, there were 83.9 males. The median income for a household in the city was $32,955, and the median income for a family was $39,063. Males had a median income of $31,964 versus $22,125 for females. The per capita income for the city was $15,827. About 3.2% of families and 7.9% of the population were below the poverty line, including 6.3% of those under age 18 and 14.3% of those age 65 or over.
In the media
, creator of Lake Wobegon and host of the radio variety show A Prairie Home Companion, has written that Stearns County in general and Freeport specifically, in addition to other small Minnesota towns, were inspirations for his fictional town, Lake Wobegon. In 1998, the county honored Keillor and his show by naming a section of abandoned rail line the Lake Wobegon Trail.