Located in the heart of Monroe County and host of the County Seat, Waterloo is accessed by Illinois Route 3 and Illinois Route 156 which intersect within its bounds. It is located 25 miles from St. Louis, Missouri and the Interstate I-255 is 10 miles from Waterloo.

According to the 2010 census, the city has a total area of 7.66 square miles, of which 7.52 square miles is land and 0.14 square miles is water.  Waterloo is along the historic trail from Kaskaskia to St. Louis.