The town of Trade Lake is located in southwestern Burnett County, with Polk County along the town's southern and eastern borders.
According to the United States Census Bureau, the town has a total area of , of which is land and , or 8.41%, is water [REF].