It's a common misconception that inner London is served by the 0207 area code, while outer London numbers always begin with 0208.
In fact, it's both doubly wrong and incomplete.
Where to put the space
In the first place, the area code for any part of Greater London — inner or outer — is the same. It is simply 020. Not 0207 or 0208. Just 020.
The 7 or 8 is more properly associated with the unique phone number that comes next. So the correct way to write a London number is 020 7xxx-xxxx or o20 8xxx-xxxx with a gap between the second zero and the 7 or 8.
This does have implications. If you're phoning from one London landline to another, you can miss off the area code (020) and simply dial, for example, 7xxx-xxxx.
It doesn't matter if your own number begins with a 7 or an 8, or whether the destination number begins with a 7 or 8, so long as you're both on an 020 number, then you only need those eight digits.
Inner versus outer London
What about the old notion that inner London numbers begin with a 7, while outer numbers begin with 8? Well, it's mostly true, but you can't take it for granted.
The 'rule' goes back to ye olde days of 1990 when the former 01 code for London was split. Central areas (plus the newly developing Docklands) were given an 071 area code, while all other parts of the capital (i.e. outer areas) took the 081 code. These evolved into 0171 and 0181 in 1995. Some of you may still remember the latter code from the Live and Kicking jingle.
Everyone was just getting used to this set up when yet another change was enacted. From April 2000, the area codes for London were reunified into 020. To re-emphasise, note that it's simply 020, and not 0207 and 0208.
The change added millions of potential new phone numbers to the system by shifting a digit from the area code over to the phone number. If your number had previously been 0181 xxx-xxxx it was now 020 8xxx-xxxx.
At least at first, this meant that you could still bank on an '8' number corresponding to outer London, while a '7' number indicated somewhere central. But this is no longer a cast-iron certainty. New numbers created in the central area are sometimes given an '8' prefix, while those further out can be given '7' numbers.
So how does 0203 fit into all this?
Technically, it doesn't. As outlined above, there's no such thing as an 0207 or 0208 number, which by extension means that there's no such things as an 0203 number. But it's much simpler to say '0203 number' than 'London number beginning with a 3'.
'3' numbers were introduced as long ago as 2005. At first, their distribution was so scarce that few people noticed. Fast forward a decade or so, and many more homes and businesses have been assigned '3' numbers. It's now common to see an 020 3 number on business signs and adverts. It's just as common to see it quoted incorrectly as 0203.
020 3 is just as legitimate as 020 7 and 020 8, and can be applied to a landline anywhere in Greater London.
Anywhere in Greater London?
OK, that last bit is a fib. While the 020 area code loosely corresponds to the Greater London boundary, it isn't a perfect match. For example, the good people of Borehamwood (Hertfordshire), Ewell (Surrey) and Chigwell (Essex) enjoy possession of 020 numbers, even though they're not technically in London.
Meanwhile, many people who live within the Greater London boundary find themselves on other area codes, as this handy map from Wikimedia Commons shows.
Much of Bexley, for example, uses Dartford's 01322 code. The borough of Bromley is split three-ways between London (020), Westerham (01959) and Orpington (01689).
What of the future?
The 020 system has plenty of scope for expansion. We may one day see 020 2 numbers, or 020 4, or 020 9. That said, it's hard to predict the demand for traditional landlines (and their numbers) in the future. Many of us have all-but-abandoned the network when making voice calls, preferring our mobiles, but there's still a huge demand for broadband connection.