Silo is a town in Bryan County, Oklahoma, United States. The population was 331 at the 2010 census, an increase of 17.4 percent from 282 at the 2000 census.
As of the census of 2000, there were 282 people, 103 households, and 81 families residing in the town. The population density was 542.1 people per square mile (209.4/km²). There were 114 housing units at an average density of 219.1 per square mile (84.6/km²). The racial makeup of the town was 80.14% White, 14.18% Native American, 1.77% from other races, and 3.90% from two or more races. Hispanic or Latino of any race were 1.77% of the population.
There were 103 households out of which 36.9% had children under the age of 18 living with them, 69.9% were married couples living together, 6.8% had a female householder with no husband present, and 20.4% were non-families. 18.4% of all households were made up of individuals and 6.8% had someone living alone who was 65 years of age or older. The average household size was 2.74 and the average family size was 3.07.
In the town the population was spread out with 26.6% under the age of 18, 9.6% from 18 to 24, 26.2% from 25 to 44, 27.3% from 45 to 64, and 10.3% who were 65 years of age or older. The median age was 38 years. For every 100 females there were 81.9 males. For every 100 females age 18 and over, there were 86.5 males.
The median income for a household in the town was $39,375, and the median income for a family was $42,159. Males had a median income of $31,500 versus $26,818 for females. The per capita income for the town was $15,681. About 1.4% of families and 2.3% of the population were below the poverty line, including 1.4% of those under the age of eighteen and 16.1% of those sixty five or over.