Internal migration is a key driver of patterns of human settlement and socio-economic development, but little is known about its compositional impacts. Exploiting the wide availability of census data, we propose a method to quantify the internal migration impacts on local population structures, and estimate these impacts for eight large Latin American cities. We show that internal migration generally had small feminizing, downgrading educational, and demographic window effects: reducing the local sex ratio, lowering the average years of schooling, and raising the share of working-age population due to an increased young adult population. Over time, a rise in the proportion of males and a drop in the share of the young adult population moving into cities reduced the feminizing and demographic window effects. Concurrently, a rise in the average years of schooling associated with people moving into cities attenuated the downgrading impact of internal migration on local education levels.