Despite being a topical issue in public debate and on the political agenda for many countries, a global-scale, high-resolution quantification of migration and its major drivers for the recent decades remained missing. We created a global dataset of annual net migration between 2000 and 2019 (~10 km grid, covering the areas of 216 countries or sovereign states), based on reported and downscaled subnational birth (2,555 administrative units) and death (2,067 administrative units) rates. We show that, globally, around 50% of the world’s urban population lived in areas where migration accelerated urban population growth, while a third of the global population lived in provinces where rural areas experienced positive net migration. Finally, we show that, globally, socioeconomic factors are more strongly associated with migration patterns than climatic factors. While our method is dependent on census data, incurring notable uncertainties in regions where census data coverage or quality is low, we were able to capture migration patterns not only between but also within countries, as well as by socioeconomic and geophysical zonings. Our results highlight the importance of subnational analysis of migration—a necessity for policy design, international cooperation and shared responsibility for managing internal and international migration.