Comfort is an important aspect of the transit passenger experience. Crowding can significantly decrease passenger comfort and disrupt service delivery, causing passenger travel times to increase and even resulting in passengers being unable to board an arriving vehicle. This research explores the use of automatically collected vehicle location data, fare transaction data, and passenger origin–destination inference to measure crowding on buses. Three model components are involved: scaling vehicle trip-level origin–destination transfer data, measuring crowding as perceived by passengers through performance measures defined for this purpose, and determining the sources of crowding. The latter is important to identify the most effective means of addressing crowding in each case. The models are tested on data from the Massachusetts Bay Transportation Authority, and examples of graphical applications already being used by planners are presented.