The lake runs from northeast to southwest, with the west end in Cowlitz County and the east end in Skamania County. The portion of the lake in Skamania County is part of Gifford Pinchot National Forest. Coldwater Creek drains the lake on its southwest end and flows into the North Fork of the Toutle River, a tributary of the Cowlitz River, in turn a tributary of the Columbia River. Coldwater Lake is located north of Mount St. Helens, west of Spirit Lake. Castle Lake, formed in the same manner as Coldwater Lake during the 1980 eruption, is located about to the south. The area is about northeast of Longview and north of Portland, Oregon.