The river rises from the north slope of the Napf in the canton of Lucerne near the border to the canton of Berne in a height of about 1300 meters. There it is called Enziwigger. It flows through a narrow valley towards Hergiswil bei Willisau where the valley widens and flattens. Shortly after the small city of Willisau it joins with the Buchwigger and is called just Wigger from there. The valley widens further to a flat and broad plain. North of Dagmersellen the Wigger is mostly restricted to a canal bed and flows partially parallel to the A2 motorway. Between Reiden and Brittnau it crosses the border to Aargau. It flows into the Aar between Rothrist and Aarburg at a height of 395 meters.