The river rises at Saco Lake in Crawford Notch in the White Mountains and flows generally south-southeast through Bartlett and Conway in Carroll County, New Hampshire before crossing into Oxford County, Maine.
Shortly after entering Fryeburg, Maine, the river branches into the "Old Course" Saco River and the more commonly used "Canal River". Constructed in the 1800s to be more convenient for farmers, the 6-mile (10 km) long canal is 15 miles (24 km) shorter than the old course and is now considered to be the official course for the river, as the upstream end of the old course is largely silted over. The two channels merge again near Lovell, Maine.
The river enters York County passes between Saco and Biddeford, and enters Saco Bay on the Atlantic with Camp Ellis in Saco on the north shore and Hills Beach in Biddeford on the south shore.
The earliest residents in the Valley of Saco River go back close to 10,000 years. The Native Americans were said to be the first settlers dating back to 1642. There have been Native American trails that have been discovered along the shoreline of the river over the years. In the early part of the 1800’s, the valley abounded with farms and today, there are still signs of these early settlers including stones fences and cellar holes. The Crawford Depot and the Crawford Artists Studio are on the National Register of Historic Places.