Canadian Postal Code Helper

Checks a Canadian postal code and reads what it encodes. The first letter gives the province, and for Ontario and Quebec the region within it. A zero in the second position marks a rural delivery area rather than an urban one.

Ad placeholder: Resp_Horizantal_1 (horizontal)
Ad placeholder: Resp_Square_1 (square)

Checks a Canadian postal code and reads what it encodes. The first letter gives the province, and for Ontario and Quebec the region within it. A zero in the second position marks a rural delivery area rather than an urban one.

The code is also split into its forward sortation area, which is the routing prefix, and its local delivery unit. Spacing and case do not matter. Runs entirely in your browser — nothing is sent to a server.

Use cases

  • Validating a postal code entered in a form
  • Working out which province an order is going to

Examples

Ottawa

K1A 0B1
{
  "postalCode": "K1A 0B1",
  "valid": true,
  "province": "Ontario",
  "region": "Eastern Ontario",
  "forwardSortationArea": "K1A",
  "localDeliveryUnit": "0B1",
  "areaType": "urban"
}

FAQ

Is my data sent to a server?

No — this tool runs entirely in your browser.

Why are some letters rejected?

Canada Post never uses D, F, I, O, Q, or U anywhere in a postal code, because they are too easily confused with other characters. W and Z are valid, but never as the first letter.

Does a valid code mean the address exists?

No. This checks the code is well formed and reads what it encodes. Only Canada Post's address database can confirm a code is in use.

What does rural mean here?

A zero in the second position marks a rural delivery area, typically served by rural routes or a group of post office boxes rather than door-to-door delivery.