Bay St. Louis is located in southeastern Hancock County at 30°18'53" North, 89°20'39" West (30.314696, −89.344096). It is situated on west side of the Bay of Saint Louis, which empties into the Mississippi Sound. The city is bordered to the north by the Jourdan River, the primary inlet of the bay. The eastern border of the city is the Harrison County line in the middle of the bay.
According to the United States Census Bureau, the city has a total area of 26.6 square miles (69.0 km2), of which 14.7 square miles (38.1 km2) are land and 11.9 square miles (30.9 km2), or 44,82%, are water.
As of the census of 2000, there were 8,209 people, 3,271 households, and 2,064 families residing in the city. The population density was 1,342.1 people per square mile (517.9/km²). There were 3,817 housing units at an average density of 624.1 per square mile (240.8/km²). The racial makeup of the city was 80.23% White, 16.59% African American, 0.40% Native American, 1.11% Asian, 0.05% Pacific Islander, 0.19% from other races, and 1.43% from two or more races. 1.68% of the population was Hispanic or Latino of any race.
There were 3,271 households out of which 29.6% had children under the age of 18 living with them, 44.0% were married couples living together, 14.7% had a female householder with no husband present, and 36.9% were non-families. 31.5% of all households were made up of individuals and 12.6% have someone living alone who was 65 years of age or older. The average household size was 2.41 and the average family size is 3.05.
In the city, the population was 24.5% under the age of 18, 7.6% from 18 to 24, 26.8% from 25 to 44, 24.5% from 45 to 64, and 16.6% who are 65 years of age or older. The median age is 39 years. For every 100 females, there were 92.0 males. For every 100 females age 18 and over, there were 88.0 males. The median income for a household in the city was $34,106, and the median income for a family was $41,957. Males had a median income of $32,261 versus $21,308 for females. The per capita income for the city was $18,483. 13.2% of the population and 10.0% of families were below the poverty line. Out of the total population, 17.2% of those under the age of 18 and 11.5% of those 65 and older were living below the poverty line.
The city of Bay St. Louis is served by the Bay St. Louis-Waveland School District.