Waterloo is a town in Grant and Smithfield townships, DeKalb County, Indiana, United States. The population was 2,242 at the 2010 census.