Roscoe Township is located in Winnebago County, Illinois. As of the 2010 census, its population was 19,694 and it contained 7,497 housing units.
Roscoe Township was named for William Roscoe, an English historian.
According to the 2010 census, the township has a total area of , of which (or 98.15%) is land and (or 1.85%) is water.