Doug Ewell
Fullerton, California
http://users.adelphia.net/~dewell/
The following letters never appear in a Canadian postal code (henceforth "CPC"; if I ever mean "Canada Post Corporation," I'll spell it out):
D F I O Q U
Presumably this is because of their visual similarity to 0, E, 1, 0, 0, and V respectively.
The first letter of the Forward Sortation Area (FSA) uniquely identifies the province or territory, except in a few cases to be explained later. Each province or territory has one or more identifying letters, as follows:
A Newfoundland and Labrador B Nova Scotia C Prince Edward Island E New Brunswick G Québec (eastern) H Québec (Montréal metropolitan area) J Québec (western) K Ontario (eastern) L Ontario (southern) M Ontario (Toronto metropolitan area) N Ontario (north-central) P Ontario (northwestern) R Manitoba S Saskatchewan T Alberta V British Columbia X Northwest Territories and Nunavut Y Yukon [Territory]
The letters can be thought of as advancing from east (A) to west (V) across the provinces, then east (X) to west (Y) again across the territories to the north. The east-to-west association is not geographically perfect, especially in the Maritime Provinces to the east, but it is close enough to be mnemonically useful.
For Québec and Ontario, the first letter identifies a sub-region of the province. (Canada Post may give slightly different definitions of the sub-regions from mine.) Note that in addition to avoiding the six "forbidden" letters above, this chart implies that W and Z also do not appear as the first letter of a CPC (at least not at present).
The second character of the FSA (the digit) identifies whether the CPC is for a rural or urban area. A zero (0) indicates a rural area, while any other digit 1 through 9 represents a (comparatively) urban area. On occasion, as some rural localities grow and expand, their postal codes are changed to reflect that they have "graduated" from being considered rural to urban. This happened recently to a few communities in New Brunswick.
There are only two CPCs that start with H0 (other than the fictitious H0H 0H0) and none that start with M0. This makes sense if you think about the role of 0 identifying a rural area, and the role of H and M identifying the very non-rural Montréal and Toronto areas.
The third character of the FSA (second letter) narrows down the area of coverage. Canada Post offers a free "FSA map" document at:
http://www.canadapost.ca/common/tools/pg/fsamaps/pdf/Canada.pdf
that shows the exact boundaries (down to street level in many cases) of FSAs.
For urban CPCs, the Local Delivery Unit (LDU) identifies a smaller region within the FSA. This is often the same as saying "within the city," but not always; sometimes another city or district has its own name that "intrudes" on the main city. For example, within G1N Québec you will find several codes for Sainte-Foy. There is no practical difference between the roles of the three characters in an urban LDU, unlike the FSA; they simply count up, so that 1Z9 is followed by 2A1. (The digit 0 is never used as the last digit of the LDU for "urban" CPCs, for some reason. I just discovered this now. :)
For rural CPCs, the LDU identifies a specific community, and (unlike the urban case) usually does end in 0. Rural communities that are "adjacent" in terms of the CPC might be physically far apart, especially in the territories.
There are two classes of exceptions to the rule of the first letter identifying the province or territory:
The Québec cities of Hull and Aylmer are basically suburbs of Ottawa, Ontario, a city which naturally eats up a great many postal codes in its role as the national capital of Canada. A few postal codes in K1A (18 to be specific) are assigned to Hull and Aylmer, perhaps because of heavier-than-usual association of these particular areas of Hull and Aylmer with Ottawa. (The vast majority of Hull and Ottawa postal codes begin with J8 or J9, as one would expect.) Software that wants to identify the province or territory based on the first letter must take these 18 exceptions into account.
Nunavut was carved out of the Northwest Territories in 1999, as you know. This seems to have taken Canada Post somewhat by surprise, as there didn't seem to be a cohesive plan for gving Nunavut its own postal identity. Not only was the the postal abbreviation NT initially used for both, as you document, but Nunavut also was not assigned a distinct FSA first letter. It continues to share X with Northwest Territories. One could easily argue that W (or less likely, Z) should have been given to Nunavut. Instead, Nunavut communities can be distinguished from those in NT as follows:
Another way of thinking of this is that FSAs beginning with X are in Nunavut only if they are "less than" X0E. (Remember that X0D is not possible.)