London in motion

Where Londoners moved and where they travelled to work, one neighbourhood at a time.

See it on the map →Embed this viewUpdated 1 Aug

Data access

Use the machine-readable JSON record or the flattened CSV download or the compact Markdown version.

Preview the latest 100 observations
SeriesPeriod or categoryValueUnit
MigrationHounslow 018 → Hounslow 01599people
MigrationIslington 022 → Islington 02099people
MigrationLewisham 001 → Lewisham 00399people
MigrationBrent 025 → Brent 03198people
MigrationHounslow 018 → Hounslow 01798people
MigrationEaling 044 → Ealing 04398people
MigrationWandsworth 034 → Wandsworth 03597people
MigrationBarnet 032 → Barnet 03196people
MigrationBrent 026 → Brent 01996people
MigrationWaltham Forest 013 → Waltham Forest 01596people
MigrationWandsworth 010 → Wandsworth 01496people
MigrationBrent 029 → Brent 01995people
MigrationWandsworth 006 → Wandsworth 01095people
MigrationCroydon 046 → Croydon 02095people
MigrationTower Hamlets 036 → Tower Hamlets 03295people
MigrationHounslow 016 → Hounslow 02194people
MigrationLambeth 034 → Lambeth 03594people
MigrationNewham 038 → Newham 03993people
MigrationWestminster 016 → Westminster 01792people
MigrationBrent 019 → Brent 02991people
MigrationRichmond upon Thames 001 → Richmond upon Thames 00391people
MigrationBrent 020 → Brent 01990people
MigrationIslington 017 → Islington 00690people
MigrationWandsworth 035 → Wandsworth 03489people
MigrationEaling 038 → Ealing 04388people
MigrationHillingdon 029 → Hillingdon 02288people
MigrationKingston upon Thames 009 → Kingston upon Thames 00488people
MigrationLambeth 016 → Lambeth 02088people
MigrationLambeth 029 → Lambeth 03288people
MigrationSouthwark 007 → Southwark 00188people
MigrationWestminster 007 → Westminster 00688people
MigrationBrent 026 → Brent 02087people
MigrationCamden 013 → Camden 01087people
MigrationHounslow 012 → Hounslow 01887people
MigrationBexley 027 → Bexley 02686people
MigrationCamden 026 → Camden 01986people
MigrationEaling 026 → Ealing 01786people
MigrationHounslow 016 → Hounslow 01786people
MigrationSouthwark 008 → Southwark 00186people
MigrationSouthwark 028 → Southwark 03286people
MigrationWandsworth 021 → Wandsworth 02686people
MigrationWandsworth 026 → Lambeth 02386people
MigrationRichmond upon Thames 003 → Richmond upon Thames 00185people
MigrationTower Hamlets 004 → Tower Hamlets 00385people
MigrationBarnet 031 → Barnet 03284people
MigrationBexley 026 → Bexley 02784people
MigrationKingston upon Thames 010 → Kingston upon Thames 00584people
MigrationTower Hamlets 027 → Tower Hamlets 02684people
MigrationBarnet 029 → Barnet 02783people
MigrationBrent 032 → Brent 03083people
WorkplaceSouthwark 004 → City of London 001236people
WorkplaceHavering 013 → Havering 017234people
WorkplaceHounslow 005 → Hillingdon 031233people
WorkplaceBexley 008 → Bexley 004231people
WorkplaceEaling 017 → Ealing 029231people
WorkplaceCroydon 019 → Croydon 015230people
WorkplaceHounslow 025 → Hillingdon 031230people
WorkplaceMerton 005 → Wandsworth 034228people
WorkplaceHounslow 027 → Hillingdon 031225people
WorkplaceHounslow 021 → Hillingdon 031224people
WorkplaceSpelthorne 005 → Hillingdon 031224people
WorkplaceEaling 023 → Hillingdon 031221people
WorkplaceWestminster 020 → Westminster 018221people
WorkplaceHounslow 015 → Hillingdon 031219people
WorkplaceSouthwark 021 → Lambeth 014217people
WorkplaceSlough 012 → Hillingdon 031216people
WorkplaceHillingdon 025 → Hillingdon 031214people
WorkplaceSouthwark 002 → City of London 001214people
WorkplaceTower Hamlets 031 → Tower Hamlets 033214people
WorkplaceSlough 013 → Hillingdon 031214people
WorkplaceEaling 038 → Hillingdon 031212people
WorkplaceKingston upon Thames 004 → Kingston upon Thames 009211people
WorkplaceSlough 008 → Hillingdon 031211people
WorkplaceHillingdon 026 → Hillingdon 031210people
WorkplaceNewham 034 → City of London 001210people
WorkplaceHillingdon 025 → Hillingdon 017208people
WorkplaceHillingdon 021 → Hillingdon 031206people
WorkplaceEnfield 033 → Enfield 037205people
WorkplaceSlough 011 → Hillingdon 031205people
WorkplaceNewham 042 → City of London 001205people
WorkplaceHackney 026 → City of London 001204people
WorkplaceTower Hamlets 014 → City of London 001201people
WorkplaceHackney 025 → City of London 001200people
WorkplaceIslington 020 → City of London 001199people
WorkplaceTower Hamlets 012 → City of London 001198people
WorkplaceEaling 044 → Ealing 029198people
WorkplaceHounslow 012 → Hillingdon 031195people
WorkplaceHackney 029 → Hackney 001195people
WorkplaceHavering 016 → Havering 017194people
WorkplaceKingston upon Thames 006 → Kingston upon Thames 009193people
WorkplaceHillingdon 019 → Hillingdon 017192people
WorkplaceHillingdon 030 → Hillingdon 027192people
WorkplaceKingston upon Thames 005 → Kingston upon Thames 003191people
WorkplaceLewisham 001 → City of London 001189people
WorkplaceSouthwark 006 → City of London 001189people
WorkplaceTower Hamlets 004 → City of London 001189people
WorkplaceEaling 017 → Hillingdon 031187people
WorkplaceEaling 026 → Ealing 023186people
WorkplaceBrent 036 → Brent 027186people
WorkplaceHavering 004 → Havering 017185people

Preview truncated. The JSON record contains every observation represented by this graph.

Methodology

Census 2021 migration and workplace origin–destination counts between MSOAs. The map reveals only the 30 largest links after an area is selected while reporting the full link and people totals. Workplace responses describe the coronavirus-lockdown period and are not a normal commuting baseline.

Provenance

Cadence
irregular
Engine
flow

Keep going