Blair is a town in Jackson County, Oklahoma, United States. The population was 818 at the 2010 census.