Skip to content

How an address is written in Canada

The postal format table for Canada — the order the lines go in, the parts its operator requires, what it calls them, and the words it prints on a box — and, separately, what this server actually holds for Canada, so the page never implies a check it cannot run.

Live demo

POST /demo/address · no key needed

try:

Response

Look up any address to see the full API response, straight from the live service. The country decides which format it is read against.

The order the lines go in

The parts are named rather than filled in: Spaw does not know an address in Canada and will not invent one. This block is produced by the same function that rewrites a real address, so the line order, the capitals Canada asks for and any text its operator prints on every envelope are the checker's own behaviour rather than a second description of it.

Organisation
12 STREET NAME
Flat or unit
TOWN OR CITY REGION POSTAL CODE

No recipient line: nothing in the response is about a person, so the name the envelope carries is not part of what is checked.

fieldcalled hererequiredcapitals
organizationOrganisationoptional
addressLine1Street namerequiredyes
addressLine2Flat or unitoptional
localityTown or cityrequiredyes
administrativeAreaRegionrequiredyes
postalCodePostal coderequiredyes

No house-number rule is carried for Canada, so the international default is used: the house number comes before the street name. The postal code is written after the town.

The postal code

Canada postal codes are checked against the pattern below rather than a description of it, because the shape is too particular to summarise without losing a case.

pattern [ABCEGHJKLMNPRSTVXY]\d[ABCEGHJ-NPRSTV-Z] ?\d[ABCEGHJ-NPRSTV-Z]\d

A national directory is installed for Canada, so a postal code here is not only checked for shape but looked up: 1,653 codes from geonames-postal-codes, version 2026-09-17, of which 1,653 are live and 0 have been retired. A retired code is usually a real address with an out-of-date code rather than a typo, so it is scored rather than refused.

What Canada calls an address that is not a front door

The words below are Canada's own, taken from its postal operator's addressing guide, and they are the words the checker reads. Because they are carried, an address here with none of them answers street.

address_type written as
private_mailbox Private mailbox at a mail-receiving agencyPMB
po_box Post-office boxPO BOX, P O BOX, CASE POSTALE; CP (only at the start of a line, with a number)
general_delivery Held at the counter for collectionGENERAL DELIVERY, POSTE RESTANTE; GD (only at the start of a line, with a number)
military Military and diplomatic mailCFPO, BFPO
rural_route Rural routeRR, SS, MR, RURAL ROUTE (only at the start of a line, with a number)

The anchored spellings are the conservative half of this: those words are ordinary language elsewhere in an address, so they only count when they open the line and carry a number after them.

The region codes

13 codes, which is what lets a written address be split at all — and the region written out in full is folded onto its code, so the two spellings are read as the same place.

  • AB Alberta
  • BC British Columbia
  • MB Manitoba
  • NB New Brunswick
  • NL Newfoundland and Labrador
  • NT Northwest Territories
  • NS Nova Scotia
  • NU Nunavut
  • ON Ontario
  • PE Prince Edward Island
  • QC Quebec
  • SK Saskatchewan
  • YT Yukon

What can be checked for a Canada address

Read from the datasets this server holds right now, not written into the page. For most countries the answer is the written form and the postcode shape and nothing beyond them — in particular not the row people assume is always there. An address can be perfectly formed and still not exist, and where no register is installed nothing here will pretend to know which.

check for CA what the answer means
Written formyesThe address is split into Canada's own parts and rewritten in the order above. A missing required part is named in one typed reason rather than a general failure.
postal code patternyesChecked against the pattern the table carries for Canada. A value that does not match answers invalid_postal_code.
postal code existsyes1,653 codes from geonames-postal-codes, live and terminated ones apart, so a retired code reads as retired rather than as a typo.
Kind of delivery pointyesCanada's own box naming is carried, so an address with no marker answers street rather than unknown.
Street existsnoNo register is installed for Canada, so a street is neither confirmed nor denied: match_level answers null.
Building existsnoNo address register is installed for Canada, so exists answers null: not evaluated, never no. Absence is not evidence here.
Companies at the addressnoNo open company register is installed for Canada, so companies_registered answers null and no mail-drop conclusion is drawn from a count.
Known mailbox branchnoNo operator branch list covers Canada, so is_mail_drop is never set from one here.
Post actually arrivesnoNot from this page, and not from open data in any country: whether post is delivered, and the vacant, residential and agency flags that go with it, are the postal service's own licensed product. Those fields answer deliverability_checked: false rather than a guess.

Null means not evaluated, never no. How to read an address-existence answer sets out what a premise, street or postcode match proves, and what absence proves.

Other countries

address-formats 2026-09-05 · address-rules 2026-09-17 · geonames-postal-codes 2026-09-17 · checked 2026-09-18

Wrong result, or is it about you? If this tool said something you think is wrong, tell us and a person reads it. If Spaw is holding data about you and you never signed up here — a customer may have had your address verified, or reported that a message to it bounced — erase it yourself, confirmed by mail to that address and with no account needed.

More free tools

All free tools

Need this at scale?

The Spaw API runs the same checks plus mailbox-level SMTP verification, batch and bulk endpoints, and list monitoring — 10 free lookups a month, no card required.

Get your API key