Canada Address Format

What a Canadian address looks like, why it breaks forms built elsewhere, and how to store one without losing information.

The anatomy of a Canadian address

A Canadian address is read from the most specific line to the least: the recipient, then any unit and street, then the municipality with its province and postal code on one line, then the country.

The municipality line is the one that catches people out. City, province code and postal code share a single line, and the postal code is separated from the province by two spaces in Canada Post’s canonical form.

Priya Sandhu               ← recipient
Northwind Testing Ltd.     ← organisation, optional
100-1234 Yonge St W        ← unit-hyphen-civic, street, directional
Toronto ON  M5V 3L9        ← municipality, province code, postal code
Canada                     ← country, on international mail

Display form and canonical form

There are two forms and they are not interchangeable. The display form is what a person reads — mixed case, with punctuation. The Canada Post canonical form is what machine sorting expects: uppercase, no punctuation, and street types abbreviated.

Store the display form and derive the canonical one. Doing it the other way round loses the capitalisation of names and cannot be undone.

AspectDisplayCanonical
CaseMixedUPPERCASE
PunctuationKeptRemoved
Street typeStreet, AvenueST, AVE
ExampleSt. John’s NL A1C 5H7ST JOHNS NL A1C 5H7

Unit-hyphen-civic is the distinctly Canadian part

A unit number goes in front of the civic number, joined by a hyphen: 100-1234 Yonge St. This is the form that breaks address parsers written for United States addresses, which expect the unit after the street or on a second line.

The written alternatives are also in use — Unit 100, Suite 100, Apt 100, usually on a second line — so a parser has to handle both. A splitter that treats the hyphen as a range, or that reads 100-1234 as a single civic number, produces wrong output on a very common shape.

Directionals are suffixed and abbreviated

A directional follows the street type and is abbreviated: N, S, E, W, NE, NW, SE, SW. It is part of the street name for matching purposes — Yonge St W and Yonge St E are different streets, and dropping the directional merges two addresses that are not the same place.

Quebec and French-language addresses

French addresses are built differently rather than translated. The civic number is followed by a comma, the street type comes first and is lowercase, and the directional is a French word.

The comma is the detail that breaks parsers: splitting an address string on commas to separate street from city yields a bare number as the first field.

AspectEnglishFrench
Ordername then typetype then name
Type caseCapitalisedlowercase
After civic numberspacecomma and space
DirectionalWOuest
UnitApt, Suite, Unitapp., bureau
Example1234 Sainte-Catherine St W1234, rue Sainte-Catherine Ouest

Rural and remote forms

Not every Canadian address has a street. Rural routes, post office boxes and general delivery are addresses in their own right, not fallbacks for a missing one, and in many northern communities they are the only form available.

A form that makes a civic number mandatory cannot accept them, which is a common way for a checkout or signup form to exclude Canadian customers it would otherwise serve.

Mapping Canadian fields onto a form built elsewhere

Most address forms are built for United States addresses first. This is the mapping, and the places it goes wrong.

Canadian fieldCommon US/international fieldWhat goes wrong
Postal codeZIP codeZIP validation expects 5 digits; Canadian codes are 6 alphanumeric characters with a space
Province / TerritoryStateA state dropdown with 50 entries has no Canadian regions; "county" is not a Canadian concept at all
MunicipalityCityMaps cleanly
UnitApt / Suite line 2Canadian unit-hyphen-civic puts it in line 1, so a strict line-2-only form loses it
Civic numberHouse numberMaps cleanly, except in Quebec where a comma follows it
Directionalpart of street nameOften dropped, which merges distinct streets

Things worth getting right in a database

Questions

Where does the postal code go in a Canadian address?

On the same line as the municipality and the province code, at the end: Toronto ON M5V 3L9. Canada Post’s canonical form uses two spaces between the province code and the postal code.

Should the province be a code or a full name?

Use the two-letter code on the address line — ON, QC, BC. Store the code, not the name: names vary by language and by whether an article is included, and the code does not.

How do I write a Canadian unit number?

Unit-hyphen-civic is the standard form: 100-1234 Yonge St. Unit 100 or Suite 100 on a second line is also correct and widely used, so a parser needs to handle both.

Are Quebec addresses just translated English ones?

No. The structure differs: the street type comes first and is lowercase, the civic number is followed by a comma, and the directional is a French word. Translating word by word produces something that is not a correct address in either language.

Do I need the country line?

Only for international mail. Within Canada it is omitted, and Canada Post’s canonical form for domestic mail ends at the municipality line.

Related

Everything this site generates is synthetic, produced for development, QA, testing, demos and staging. The records do not represent real people, and the addresses are not verified deliverable addresses.