Canada Post's rules for writing an address: line order, uppercase, two spaces before the postal code, where the unit number goes, and the abbreviations to use. With worked examples for apartments, PO boxes and rural routes.
A correctly formatted Canadian address has three lines: the addressee, the civic address, and a final line containing the municipality, the two-letter province symbol and the postal code. Canada Post asks for it in uppercase, with no punctuation, two spaces before the postal code and one space inside it.
MS JANE SMITH 123 MAIN ST W TORONTO ON M5V 0A0
That is the whole answer for a standard address. The rest of this guide covers the cases that trip people up — apartment and unit numbers, PO boxes, rural routes, street directions, and the abbreviations Canada Post expects — plus why the formatting rules exist, which makes them much easier to remember.
If you are writing code that formats or validates addresses rather than writing one by hand, the validation guide and Canada address format are the more relevant pages.
The postal codes in these examples. Each one pairs a real forward sortation area — the first three characters, which carry the geography — with 0A0 as a placeholder for the last three. That is deliberate, and it is the same point the guide makes elsewhere: only the first three characters support any inference. The last three identify a delivery unit and tell you nothing you can reason from. No example here is a real delivery point, and none is meant to be posted to.
Canada Post's addressing guidelines describe a domestic address block as three lines of information:
| Line | Contains | Example |
|---|---|---|
| 1 | Addressee — person, title, or organisation | MS JANE SMITH |
| 2 | Civic address — unit, civic number, street name, street type, direction | 123 MAIN ST W |
| 3 | Municipality, province or territory symbol, postal code | TORONTO ON M5V 0A0 |
More lines are permitted when the address needs them — a company name above a person's name, a department, a care-of line — but the address block may not exceed six lines in total, and the municipality-province-postal-code line must always be the last one.
That last rule is the important one. Canada Post's sorting equipment reads the final line first. Anything printed below it — a country name on a domestic piece, a phone number, a note — interferes with that read.
These are the rules Canada Post actually specifies, rather than conventions people assume.
Print in uppercase. Canada Post asks for uppercase but accepts lower-case fonts, so a lower-case address will not be rejected. Uppercase reads more reliably on automated equipment.
Do not use punctuation unless it forms part of a proper name. No comma after the city, no period after the street type, no period in the province symbol. ST. JOHN'S keeps its punctuation because that is the name of the place; TORONTO, ON should be TORONTO ON.
Never use the `#` symbol — or its French equivalent — anywhere in the address.
One space inside the postal code, between the first three characters and the last three: M5V 0A0.
Two spaces between the province symbol and the postal code on the last line. This is the rule most people get wrong, and it is easy to miss because it looks almost identical to a single space:
TORONTO ON M5V 0A0 correct — two spaces TORONTO ON M5V 0A0 incorrect — one space
Use the two-letter province symbols, not full names and not older abbreviations like "Ont." or "Alta."
| Symbol | Province or territory | Symbol | Province or territory |
|---|---|---|---|
| AB | Alberta | NU | Nunavut |
| BC | British Columbia | ON | Ontario |
| MB | Manitoba | PE | Prince Edward Island |
| NB | New Brunswick | QC | Quebec |
| NL | Newfoundland and Labrador | SK | Saskatchewan |
| NS | Nova Scotia | YT | Yukon |
| NT | Northwest Territories |
Canada Post accepts three formats, and states no preference between them.
Before the civic number, joined by a hyphen — the most common Canadian form:
12-123 MAIN ST
After the street type, with a unit identifier:
123 MAIN ST APT 12
On the line above the street information:
APT 12 123 MAIN ST
All three are acceptable. What is not acceptable is leaving it out. Canada Post is explicit: if a unit number is assigned, it's an integral part of the address. You must include it.
The hyphen form is worth knowing specifically because it confuses non-Canadian systems. 12-123 MAIN ST is unit 12 at civic number 123 — not a street number range, and not a hyphenated house number. Address parsers written for US or UK formats frequently mangle it.
The civic address line follows a fixed order:
unit number → civic number → street name → street type → street direction
12-123 MAIN ST W
Here 12 is the unit, 123 is the civic number, MAIN is the street name, ST is the street type, and W is the direction.
Street types are abbreviated. Common ones:
| Full | Abbreviation | Full | Abbreviation |
|---|---|---|---|
| Street | ST | Crescent | CRES |
| Avenue | AVE | Court | CRT |
| Road | RD | Place | PL |
| Boulevard | BLVD | Circle | CIR |
| Drive | DR | Highway | HWY |
Canada Post publishes a complete list of accepted street type abbreviations in its addressing guidelines; the table above covers the types you will meet most often, not the full set. If you are building a parser, work from Canada Post's published list rather than from a sample.
Directions are abbreviated to one or two letters: N, S, E, W, NE, NW, SE, SW.
The direction is the last element of the civic address line. It follows the street type, in every case:
123 MAIN ST W 340 12 AVE SW
That holds for numbered streets too. 12 AVE SW is twelfth avenue, southwest — the direction stays at the end.
This matters most in cities built on numbered grids. Calgary, Edmonton and Saskatoon all use quadrant directions extensively, and an address there is ambiguous without one. 12 AVE SW and 12 AVE NE are different streets.
A note on a rule you may see quoted elsewhere. Canada Post's addressing guidelines also contain wording about placing the direction before the street name when the name is not an ordinal number. That wording sits alongside their own statement that the direction is the last element of the civic address line, and the two readings conflict.
This guide follows direction-last: it is unambiguous, it is what every real Canadian address form produces, and it is what this site's generator emits. Both readings are recorded in CLAIMS.md as an open contradiction rather than resolved silently in either direction. If you are building a parser, treat direction-last as the canonical output and accept a leading direction as an input variant.
Not every address is a civic address. Three other forms are common in Canada, and each has its own line.
MS JANE SMITH PO BOX 4321 STN A TORONTO ON M4W 0A0
STN identifies the postal station holding the box. Note the postal code here starts M4W, which uses the letter W in the third position — valid there, even though W never appears first.
MR JOHN DOE RR 3 STN MAIN ANYTOWN NT X0E 0A0
The 0 in the second position of X0E marks this as a rural code, which is consistent with a rural route delivery.
MS JANE SMITH GENERAL DELIVERY ANYTOWN NT X0G 0A0
Used where the recipient collects mail at the post office counter rather than receiving delivery.
Every address below is synthetic test data — generated for illustration, not a real property, household or person.
Standard house:
MR JOHN DOE 456 OAK AVE ST JOHNS NL A1C 0A0
Apartment, hyphen form:
MS JANE SMITH 805-1200 YONGE ST TORONTO ON M5V 0A0
Apartment, identifier form:
MS JANE SMITH 1200 YONGE ST APT 805 TORONTO ON M5V 0A0
Numbered street with direction:
MR JOHN DOE 340 12 AVE SW CALGARY AB T2P 0A0
Business with a department line:
ACCOUNTS PAYABLE EXAMPLE TRADING CO 1500 4 ST SW CALGARY AB T2P 0A0
Quebec address in French:
MME MARIE TREMBLAY 1234 RUE SAINTE-CATHERINE OUEST MONTREAL QC H2Z 0A0
French addresses follow their own conventions for street type and direction placement — rue before the name, Ouest rather than W. The Quebec address generator page covers the G, H and J districts, and Canada address format covers French addressing in full, including app. and bureau for units.
When mailing into Canada from another country, add the country name as its own final line, in uppercase:
MS JANE SMITH 123 MAIN ST W TORONTO ON M5V 0A0 CANADA
The country line is the only thing that ever goes below the municipality-province-postal-code line, and only on international mail. On a domestic piece, nothing does.
A comma after the city. TORONTO, ON should be TORONTO ON. No punctuation unless it belongs to a proper name.
One space before the postal code instead of two. Visually almost identical, and the most frequently broken rule in the guidelines.
Omitting the unit number because the building is small or the recipient is known. Canada Post treats a unit number as an integral part of the address.
Using `#` for a unit. Explicitly prohibited. Use the hyphen form or a unit identifier.
Writing the province in full. ONTARIO should be ON. Full names and legacy abbreviations both slow automated processing.
Putting anything below the last line on domestic mail — a phone number, a reference code, a country name. The sorting equipment reads that line first.
Splitting the postal code across lines when a form is narrow. Keep the last line intact.
This guide is about writing an address — for an envelope, a form, a label. Storing and handling one is a different job with different rules: canonical form versus display form, mapping Canadian fields onto a form designed elsewhere, and the column types that quietly destroy a postal code.
[Canada address format — how to write and store a Canadian address](/canada-address-format) covers that side in full, including the form-field mapping table and what to get right in a database.
Two things worth knowing before you go there:
The hyphen unit form breaks naive parsers. 12-123 MAIN ST is a unit and a civic number. Any parser treating the hyphen as a range separator, or as part of the civic number, is wrong for a very large share of urban Canadian addresses.
Do not test with real addresses. Real customer addresses in a test database are personal information sitting somewhere never designed to hold it. Generating test addresses for Canada covers the alternative, and the Canada test data generator produces correctly formatted synthetic addresses that follow every rule on this page.
Three lines: addressee, then civic address, then municipality, two-letter province symbol and postal code on the final line. Uppercase, no punctuation, two spaces before the postal code and one space inside it. For example: TORONTO ON M5V 0A0.
Two. TORONTO ON M5V 0A0. This is specified in Canada Post's addressing guidelines and is the rule most often broken.
No. Canada Post asks for no punctuation unless it is part of a proper name, so TORONTO ON is correct and TORONTO, ON is not.
Any of three places: before the civic number with a hyphen (12-123 MAIN ST), after the street type with a unit identifier (123 MAIN ST APT 12), or on its own line above the street. Canada Post accepts all three and states no preference.
Canada Post asks for uppercase but accepts lower-case fonts. Uppercase reads more reliably on automated sorting equipment, so it is the safer choice for bulk mail.
Format it exactly as a domestic address, then add CANADA in uppercase as a final line below the postal code line. The country name is the only element that ever goes below that line.
AB, BC, MB, NB, NL, NS, NT, NU, ON, PE, QC, SK and YT. These are province symbols and are unrelated to the postal district letter that begins the postal code — Alberta's symbol is AB but its postal codes start with T.
Three lines, uppercase, no punctuation, two spaces before the postal code and one inside it, and the municipality-province-postal-code line always last. Include the unit number, abbreviate the street type and direction, and never use #.
Everything else — PO boxes, rural routes, French addresses — is a variation on that last line staying exactly where it belongs.
Tools and reference pages on this site
Related guides
Sources
| # | Claim | Source status |
|---|---|---|
| 16 | Address block is three lines; may not exceed six | Canada Post addressing guidelines — verified |
| 17 | Municipality/province/postal code must be the last line | Canada Post addressing guidelines — verified |
| 18 | Print in uppercase; lower-case accepted | Canada Post addressing guidelines — verified |
| 19 | No punctuation unless part of a proper name | Canada Post addressing guidelines — verified |
| 20 | Never use the # symbol or French equivalent | Canada Post addressing guidelines — verified |
| 21 | Two spaces between province symbol and postal code | Canada Post addressing guidelines — verified |
| 22 | One space inside the postal code | Canada Post addressing guidelines — verified |
| 23 | Three accepted unit placements; no stated preference | Canada Post civic address page — verified |
| 24 | An assigned unit number must be included | Canada Post civic address page — verified (quoted) |
| 25 | Element order: unit → civic number → street name → type → direction | Canada Post civic address page — verified |
| 26 | Direction follows the street name, except before an ordinal street name | Canada Post addressing guidelines — verified |
| 27 | Street type abbreviations shown are a common subset, not the full list | Stated as partial in the article — no completeness claim made |
| 28 | Country name added as final line on international mail | Canada Post addressing guidelines — verified |
| — | All example addresses | Synthetic — labelled as test data in the article |