Address formats

Addresses are a very personal thing and people get upset if you change the way that they like to see their address written. Despite this, you as a developer have to take a stand and force addresses into a consistent format. If you do not do this then you stand no chance of processing them accurately.

Our preferred address format

We use the following layout for all UK addresses:

Address1 C 30
Address2 C 30
Town     C 30
County   C 30
Postcode C  8

Restricting the size of the address fields may seem draconian but we've spent fifteen years using this format and all our customers' addresses have been made to fit it. Letters still get delivered and we have the benefit of being able to process and analyse the addresses easily without having to wonder whether the name of the town is stored in 'address4' or 'Addr_3'.

If you feel that you do need longer fields, think carefully before making the fields very much longer. This size of field will fit easily on a label and be visible through a window envelope even if the letter has not been folded at precisely the right place. Standard Avery L7163 labels or DL window envelopes will take the person's name plus these five lines in 10 point Arial.

Don't even think of using 8 point Arial Narrow to fit more characters and lines on the paper. Consider the eyesight of the poor postie.

Our rules

We apply the following rules to keep entries consistent:

  • Omit all punctuation. There is no need for a comma or full stop at the end of the line.
  • Address1 and Address2 are free-format but the Town, County, and PostCode fields hold nothing but those values.
  • Abbreviate 'Road' to 'Rd', 'Street' to 'St', etc.
  • Omit the house name if there is a house number as well.
  • Spell towns in upper case.
  • Spell counties in full.
  • Omit the county for county towns (eg Worcester, Warwick).
  • Omit the county for post towns (eg Bath, Coventry).
  • Omit country names within the UK.

Some of these rules date from the days when we produced label runs on a dot matrix printer. We did everything that we could to reduce the number of characters to be printed. Every character that we could take out of the address made the four hour print run just a little bit faster and (what was more important) just a little bit quieter.

Other hints

  • Use meaningful field names. Generic names like 'Address1 .. 6' will confuse you when you are coding.
  • Label every line of the address on the data entry form so that the user knows what goes where.
  • Suppress blank lines when you are printing the address on labels or letters. If you print blank lines then the user is tempted to correct your 'mistake' by putting Town in the Address2 field or Postcode in County.
  • Consider an addressing tool to give addresses from postcodes. We use Quick Address from
  • Validate the postcode format - at least check that it's a valid combination of upper-case letters and numerals.
  • Give the user a combo box for the County field.
  • Make the Address1 and Town fields mandatory.

All this applies to UK addresses, some countries have addresses that are easier to process, others are more difficult. There's a wide selection of international address formats on: