Migration in São Paulo (2017–2022)
Immediate region with 39 municipalities and a reference population of 19,580,465 people. In the 2017–2022 five-year period, the unit received 406,510 in-migrants and lost 880,670 out-migrants coming from or going to places outside its borders, a net migration of −474,160 (−24.22 per 1,000 population).
Migration between municipalities of the same immediate region is not counted here; only the flows that cross the unit's border are. The indicators on this page are direct sums of the published municipal flows (excluding the pairs suppressed by disclosure control), not a new sample estimate: that is why there is no standard error or confidence interval at this aggregation level.
Top origins and destinations
Top 10 origins of in-migrants
| Origin | People |
| Rio de Janeiro | 28,795 |
| Santos | 17,915 |
| Campinas | 13,940 |
| Salvador | 11,530 |
| Sorocaba | 11,270 |
| Recife | 8,535 |
| Belo Horizonte | 8,095 |
| Jundiaí | 6,660 |
| Fortaleza | 6,640 |
| Curitiba | 6,475 |
Top 10 destinations of out-migrants
| Destination | People |
| Santos | 74,845 |
| Sorocaba | 50,510 |
| Campinas | 49,080 |
| Jundiaí | 26,120 |
| Bragança Paulista | 22,380 |
| São José dos Campos | 18,925 |
| Caraguatatuba - Ubatuba - São Sebastião | 15,410 |
| Pouso Alegre | 12,880 |
| Vitória da Conquista | 12,755 |
| São José do Rio Preto | 12,645 |
Municipalities of São Paulo
39 municipalities, with net migration 2017–2022
| Municipality | Net migration |
| Cotia/SP | +18,615 |
| Itaquaquecetuba/SP | +8,595 |
| Mogi das Cruzes/SP | +8,495 |
| Santana de Parnaíba/SP | +7,635 |
| São Caetano do Sul/SP | +7,015 |
| Santo André/SP | +5,185 |
| Mairiporã/SP | +4,955 |
| Cajamar/SP | +4,495 |
| Embu das Artes/SP | +4,190 |
| Barueri/SP | +4,060 |
| Suzano/SP | +3,165 |
| Jandira/SP | +2,990 |
| Caieiras/SP | +2,355 |
| Arujá/SP | +2,350 |
| Vargem Grande Paulista/SP | +2,325 |
| Embu-Guaçu/SP | +1,300 |
| Guararema/SP | +1,265 |
| Santa Isabel/SP | +1,160 |
| São Lourenço da Serra/SP | +705 |
| Biritiba Mirim/SP | +675 |
| Franco da Rocha/SP | +310 |
| Pirapora do Bom Jesus/SP | +275 |
| Itapecerica da Serra/SP | +270 |
| Taboão da Serra/SP | +15 |
| Rio Grande da Serra/SP | −10 |
| Ferraz de Vasconcelos/SP | −20 |
| Salesópolis/SP | −80 |
| Francisco Morato/SP | −500 |
| Poá/SP | −690 |
| Juquitiba/SP | −1,080 |
| Ribeirão Pires/SP | −1,920 |
| Itapevi/SP | −3,500 |
| Mauá/SP | −6,420 |
| Diadema/SP | −8,740 |
| Carapicuíba/SP | −9,535 |
| Osasco/SP | −13,935 |
| São Bernardo do Campo/SP | −16,755 |
| Guarulhos/SP | −19,830 |
| São Paulo/SP | −479,395 |
Open São Paulo in the interactive atlas →