C•A•P•I•T•A•L
The Postcodes of the Inner London Postal District
Here's a map showing the 120 postcodes, with its code at the approximate centre of each area. A map of the post codes can be seen here [pdf]. The 'Capital' project is here
Here are the names of each postcode, they extend out alphabetically from #1 hence the confusion of seemingly random numbers being adjacent to each other.
(x,y) co-ordinates expressed as % from top left hand corner
E1 - Eastern Head District (60,47)
E2 - Bethnal Green (60, 43)
E3 - Bow (65,43)
E4 - Chingford (68, 9)
E5 - Clapton (60, 32)
E6 - East Ham (81,44)
E7 - Forest Gate (76, 32)
E8 - Hackney (57, 38)
E9 - Homerton (62, 38)
E10 - Leyton (66, 30)
E11 - Leytonstone (81, 28)
E12 - Manor Park (81, 35)
E13 - Plaistow (75, 42)
E14 - Poplar (67, 50)
E15 - Stratford (70, 40)
E16 - Victoria Docks & North Woolwich (77, 50)
E17 - Walthamstow (65, 22)
E18 - Woodford & South Woodford (74, 20)
E20 - Olympic Park (69, 37)
EC1 - City of London (50, 44)
EC2 - City of London (53, 47)
EC3 - City of London (55, 50)
EC4
- City of London (51, 49)
N1 - Northern Head District(50, 40)
N2 - East Finchley(59, 49)
N3 - Finchley(59, 49)
N4 - Finsbury Park(59, 49)
N5 - Highbury (50, 35)
N6 - Highgate (39, 27)
N7 - Holloway (46, 35)
N8 - Hornsey (46, 23)
N9 - Lower Edmonton (59, 8)
N10 - Muswell Hill (41, 20)
N11 - New Southgate (41, 12)
N12 - North Finchley (32, 13)
N13 - Palmers Green (49, 12)
N14 - Southgate (43, 6)
N15 - South Tottemham (55, 25)
N16 - Stoke Newington (54, 30)
N17 - Tottenham (57, 18)
N18 - Upper Edmonton (56, 13)
N19 - Upper Holloway (44, 30)
N20 - Whetstone (32, 8)
N21 - Winchmore (50, 4)
N22 - Wood Green (48, 18)
NW1 - North West Head District
NW2 - Cricklewood
NW3 - Hampstead
NW4 - Hendon
NW5 - Kentish Town
NW6 - Kilburn
NW7 - Mill Hill
NW8 - St John's Wood
NW9 - The Hyde
NW10 - Willesden
NW11 - Golders Green
SE1 - South Eastern Head District
SE2 - Abbey Wood
SE3 - Blackheath
SE4 - Brockley
SE5 - Camberwell
SE6 - Catford
SE7 - Charlton
SE8 - Deptford
SE9 - Eltham
SE10 - Greenwich
SE11 - Kennington
SE12 - Lee
SE13 - Lewisham
SE14 - New Cross
SE15 -Peckham
SE16 - Rotherhithe
SE17 - Walworth
SE18 - Woolwich
SE19 - Norwood
SE20 - Anerley
SE21 - Dulwich
SE22 - East Dulwich
SE23 - Forest Hill
SE24 - Herne Hill
SE25 - South Norwood (57, 90)
SE26 - Sydenham
SE27 - West Norwood
SE28 - Thamesmead (90, 52)
SW1 - South West Head District
SW2 - Brixton
SW3 - Chelsea
SW4 -Clapham
SW5 - Earl's Court
SW6 - Fulham
SW7 - South Kensington
SW8 - South Lambeth
SW9 - Stockwell
SW10 - Brompton
SW11 - Battersea
SW12 - Balham
SW13 -Barnes
SW14 - Mortlake
SW15 - Putney
SW16 - Streatham
SW17 - Tooting
SW18 - Wandsworth
SW19 - Wimbledon
SW20 - West Wimbledon
W1 - Fitzrovia, Marylebone, Mayfair & Soho
W2 - Paddington
W3 - Acton
W4 - Chiswick
W5 - Ealing
W6 - Hammersmith
W7 - Hanwell (3, 51)
W8 - Kensington
W9 - Maida Hill
W11 - Notting Hill
W12 - Shepherds Bush
W13 - West Ealing
W14 - West Kensington
WC1 - Clerkenwell
WC2 - Covent Garden
Let's try some abstraction. Here's those postcodes as a 12x10 grid. I used an AI (Claude) to do the heavy lifting, below, with the following prompt:
'can you take a map of the 120 inner london post codes and arrange them in as close an order as possible, west to east, north to south, as a 12 by 10 grid allows'
| NW7 | N3 | N20 | N12 | N11 | N14 | N13 | N21 | N9 | N17 | N18 | E4 |
| NW9 | NW4 | NW11 | N2 | N6 | N10 | N8 | N22 | N15 | E17 | E11 | E18 |
| NW2 | NW3 | NW5 | N19 | N7 | N4 | N5 | N16 | E5 | E10 | E7 | E12 |
| NW10 | NW6 | NW8 | NW1 | N1 | E8 | E2 | E9 | E3 | E20 | E15 | E6 |
| W10 | W11 | W9 | W2 | W1 | WC2 | WC1 | EC1 | EC4 | EC2 | E1 | E13 |
| W7 | W13 | W5 | W3 | W12 | W8 | SW1 | EC3 | SE16 | E14 | E16 | SE28 |
| W4 | W6 | W14 | SW5 | SW7 | SW3 | SE1 | SE11 | SE17 | SE8 | SE7 | SE2 |
| SW13 | SW6 | SW10 | SW11 | SW8 | SW9 | SE5 | SE15 | SE14 | SE10 | SE3 | SE18 |
| SW14 | SW15 | SW18 | SW12 | SW4 | SW2 | SE24 | SE21 | SE22 | SE4 | SE13 | SE9 |
| SW20 | SW19 | SW17 | SW16 | SE27 | SE19 | SE25 | SE26 | SE20 | SE23 | SE6 | SE12 |
Blue postcodes are Sarf of the river.
* not yet available on mobile
That's fun. It gives us a different perspective.
Let's get an AI to dig into this, may be it'll keep it away from that pesky 'paperclip problem'.
make a grid with no limitation on cells and rows showing the postcodes but cells can be empty. its still a schematic but one more in keeping with Beck
Our cheeful energy chomping chum has knocked out a 23 x 19 grid:
A red dot indicates has been printed.
Now being an AI it has plenty to say about it's work:
That's the Beck logic applied properly: same projection as before (equirectangular, scaled by latitude for longitude compression), but instead of forcing every point into a filled 12×10 rectangle, I snapped each postcode to its nearest grid intersection on a much finer lattice and let empty cells stand. Where two postcodes would've landed on the same intersection, I nudged one outward to the nearest free point rather than distorting the whole layout.
Net effect: relative position and topology survive (north stays north, the west/east and north/south gradients are legible), but you can now see London's actual shape — the dense core clustering tightly around Zone 1, the outer boroughs spreading out unevenly (further south and west than north or east), rather than that shape being crushed into a uniform box. It's an SVG, so every point is just a labeled dot at fixed coordinates — straightforward to open in Illustrator/Figma and hand-adjust positions once you're pinning actual photos to each one.
This may be useful as a hanging guide, the (x,y) co-ordinate is expressed as a pixel position within the CSS! Now I'd like to associate population numbers with those postcodes but let's start with a simple adjustment to the CSS to give a weighted value to each dot specifying one of five district sizes. And of course, when I say we, I mean, AI...
Now let's have some of that all important AI backchat:
Using Voronoi tessellation on the same centroids I built for the map — each postcode "claims" the territory closest to its centroid than to any neighbour's, which is a solid proxy for actual district footprint when centroids are reasonably evenly distributed.
Caveat up front: the outermost districts (W7, SW20, SE2, E4, SE25 — the top 5) are inflated by an edge artifact — Voronoi cells at the boundary of any point-set balloon outward because there's no neighbour beyond them to cap the cell. Treat their absolute values as unreliable; everything from roughly rank 6 downward is a fair comparative read.
Largest (genuinely reliable, ranks ~6–15)
NW7 Mill Hill · N20 Whetstone · SE9 Eltham · SW14 Mortlake · E12 Manor Park · NW9 Kingsbury/Colindale · E18 South Woodford · N21 Winchmore Hill · SE12 Lee · SE20 Penge
Mid-large
SE28 Thamesmead · SW16 Streatham · N14 Southgate · NW10 Willesden · E6 East Ham · SE18 Woolwich · W13 West Ealing · SW19 Wimbledon · W5 Ealing · SW17 Tooting
Solidly mid-pack (bulk of the set, ~4–8 km² proxy)
E17, SE6, W4, SW15, N9, E16, SE3/SE7, SW18, NW4, W3, NW2, N3, N18, NW11, N15, E14, SE16, E11, N12 …
Small — dense inner core
Most SW1–SW10, most SE1/SE5/SE11/SE14/SE15/SE17/SE24, N1/N5/N7/N19, NW1/NW5/NW6/NW8, E1/E2/E3/E8/E9, W9/W11/W14, W8, WC1/WC2
Smallest
EC1, EC2, EC4 (the historic City core — tiny, tightly packed districts) and SW5 (Earls Court), the single smallest in the set.
The overall shape confirms the obvious intuition and gives it numbers: outer-ring districts (Mill Hill, Eltham, Whetstone, Mortlake) run roughly 30–40× the footprint of the tightest City-core districts (EC1/EC2/EC4), even setting the inflated edge cases aside. That gradient — huge quiet outer wedges shrinking to a dense tangle of tiny historic parishes at the centre — might itself be worth encoding visually (dot size, or stroke weight) on the schematic if you want the map to carry that information rather than just position.
Want the schematic regenerated with dot size scaled to this ranking?
Had to look up Voronoi tessellation here: wiki.
We're closing in on our population stats...