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