PA 866 begins at an intersection with PA 36 in Woodbury Township, Bedford County, heading northeast on two-lane undivided Curryville Road. The road heads through open agricultural areas with some woods. The route crosses into North Woodbury Township in Blair County, where it passes through more farmland prior to heading through the residential community of Curryville. From here, PA 866 continues through open farm fields with some homes, passing to the west of Altoona–Blair County Airport. The road heads north-northeast into Martinsburg and becomes South Market Street, passing homes and a few businesses. In the commercial center of town, the route crosses PA 164 and becomes North Market Street, heading past more residences. PA 866 briefly becomes the border between Martinsburg to the west and North Woodbury Township to the east before crossing back into North Woodbury Township and becoming Piney Creek Road, heading into agricultural areas. The road enters Huston Township, running through more open farmland with occasional homes. Farther north, the route passes through the communities of Barbara and Clappertown before crossing into Woodbury Township. Here, PA 866 continues through agricultural areas with some woods and residences, passing through Royer before turning to the northeast. The road runs through more farmland before heading into wooded areas with a few homes. The route heads into Williamsburg and becomes High Street, running north-northeast through residential areas. PA 866 passes businesses and turns west-northwest onto West 1st Street, passing more homes. The route forks to the northwest onto Canal Street and passes a few industrial buildings. The road heads back into Woodbury Township and becomes Juniata River Road, heading through woodland with a few residences and running to the southwest of the Frankstown Branch Juniata River. PA 866 crosses the river into Catharine Township and runs through more forests along the northeast bank of the river. At Point View, the route curves to the west and enters Frankstown Township, heading southwest to its northern terminus at US 22.