legalalien "you're right about it being 0191, but most of the other 01.... codes have four digits rather than three. Wonder why."
The larger the population, the higher the chance of there being a shorter area code.
011x xxx xxxx (ie 7 digits for the 'local' portion)
01x1 xxx xxxx (same again)
02x xxxx xxxx (even larger potential number of lines)
01xxx xxxxxx (the bulk of UK towns and villages)
01xxxx xxxxx (about a dozen places in this format)
The original metropolitan areas, London, Birmingham, Edinburgh, Glasgow, Liverpool, Manchester were given 01, 021, 031, 041, 051, 061 and then became 0171/0181, 0121, etc. 0191 is exceptional, as it is split into three, for Durham, Newcastle and Sunderland, so a "local rate" call (when there was a distinction) was possible from each one of them to each other, but the next set of codes 'outside' 0191 could not dial all 0191 numbers at local rate.
011x numbers came in more recently, to allow for larger numbers of customers in Leeds, Sheffield, Nottingham, Leicester, Bristol and Reading.
02x numbers offer the potential for even larger numbers of customers, whether in one major city such as London, or using part of the number space for different cities/towns in a region, hence Cardiff, Coventry, Portsmouth and Southampton being allocated their own set of numbers in the form 02x yyzz zzzz (where "yy" will always indicate that particular city). The 023 'region' could be the whole of the South coast, 024 the Midlands, 029 the whole of Wales, while 028 is fully used for the whole of Northern Ireland and all the old 01xxx codes have been replaced.