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.
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
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.
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: