Migration in São Paulo (2017–2022)
Intermediate region with 50 municipalities and a reference population of 21,313,885 people. In the 2017–2022 five-year period, the unit received 437,960 in-migrants and lost 860,085 out-migrants coming from or going to places outside its borders, a net migration of −422,125 (−19.81 per 1,000 population).
Migration between municipalities of the same intermediate 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 |
| Campinas | 36,985 |
| Rio de Janeiro | 31,865 |
| Sorocaba | 19,745 |
| São José dos Campos | 16,705 |
| Salvador | 14,230 |
| Recife | 13,710 |
| Vitória da Conquista | 11,195 |
| Feira de Santana | 10,795 |
| Caruaru | 9,530 |
| Belo Horizonte | 9,520 |
Top 10 destinations of out-migrants
| Destination | People |
| Campinas | 130,820 |
| Sorocaba | 78,865 |
| São José dos Campos | 52,275 |
| Vitória da Conquista | 22,530 |
| São José do Rio Preto | 20,825 |
| Pouso Alegre | 19,710 |
| Feira de Santana | 17,055 |
| Presidente Prudente | 16,550 |
| Bauru | 16,510 |
| Ribeirão Preto | 16,135 |
Municipalities of São Paulo
50 municipalities, with net migration 2017–2022
| Municipality | Net migration |
| Praia Grande/SP | +33,825 |
| Cotia/SP | +18,615 |
| Itanhaém/SP | +11,735 |
| Mongaguá/SP | +9,475 |
| 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 |
| Bertioga/SP | +4,315 |
| Embu das Artes/SP | +4,190 |
| Barueri/SP | +4,060 |
| Peruíbe/SP | +3,270 |
| 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 |
| Itariri/SP | +800 |
| 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 |
| Pedro de Toledo/SP | +245 |
| 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 |
| Cubatão/SP | −2,420 |
| Guarujá/SP | −3,010 |
| Itapevi/SP | −3,500 |
| Santos/SP | −5,140 |
| São Vicente/SP | −5,170 |
| 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 →