The river measures about from its source near Petitcodiac to its mouth at Shepody Bay; its source derives from the confluence of the Anagance and North rivers in western Westmorland County. The Anagance River arises from its tributaries, Hayward Brook and Holmes Brook, and drains from the south-east of the Petitcodiac River, while the North River drains from the north. From the confluence, the river passes under the bridge on Route 106 in Petitcodiac, The road then follows the river to Moncton on the left side of the river. Route 1 crosses the river a few kilometres downstream to join Trans-Canada Highway 2. The community of River Glade precedes Petitcodiac River's right tributary, Pollett River, with a watershed of . As the waterway runs past Salisbury, its final major right tributary, Little River (formerly known as Coverdale River), joins it. Little River's watershed is . The river passes Coverdale and is joined by Turtle Creek before widening as it approaches Moncton.