A Valid Canadian Address Example
A valid Canadian address example has exactly two lines: a delivery-address line (street number and street name) and a last line carrying the city, the two-letter province or territory abbreviation, and the six-character postal code — for example "42 Example Street" on the first line and "OTTAWA ON K1A 0B1" on the last, with two spaces conventionally separating the province from the postal code rather than one. The postal code itself always alternates letter, digit, letter, space, digit, letter, digit, a structural pattern UPU S42 records as genuinely distinct from a country whose code runs as a block of plain digits.
Every Canadian record Fake Addresses generates carries a real first three characters of the postal code, the Forward Sortation Area, resolved to a real province or territory and, where the ingest has reached that province, a real census division by testing the Forward Sortation Area's own point against a real administrative boundary. The last three characters, the Local Delivery Unit, and the street line are both synthesised, because no free Canadian source publishes the Local Delivery Unit or street-level address data at all — that gap is proprietary to Canada's national postal operator, not a limitation Fake Addresses could close with a different free source.
That split keeps a generated Canadian record genuinely useful for testing a postal-code-format check while remaining non-deliverable by construction. A QA engineer can rely on the Forward Sortation Area and the resolved province genuinely agreeing with each other, while the full six-character code never happens to complete into somebody's actual delivery point, because the three characters that would do that are never drawn from a real source in the first place.
Canadian Postal Code Format and Examples
Fake Addresses generates a Canadian postal code that is always six characters, split into a Forward Sortation Area and a Local Delivery Unit, and never uses the letters D, F, I, O, Q or U in any letter position:
| Forward Sortation Area | Local Delivery Unit | Full postal code | City |
|---|---|---|---|
| K1A | 0B1 | K1A 0B1 | Ottawa, ON |
| M5V | 2T6 | M5V 2T6 | Toronto, ON |
| V6B | 1A1 | V6B 1A1 | Vancouver, BC |
| H3B | 2Y5 | H3B 2Y5 | Montréal, QC |
How Canadian Address Format Compares to the United States and the UK
Fake Addresses formats Canada as sitting structurally between the United States and the United Kingdom: like the US, the postal code ends the last line rather than sitting on its own line; like the UK, the code itself alternates letters and digits rather than running as a block of digits:
| Country | Last-line order | Postal-code position |
|---|---|---|
| Canada | City, province, postal code, two spaces before the code | End of the last line |
| United States | City, State, ZIP+4 | End of the last line, per USPS Publication 28 |
| United Kingdom | Post town, then postcode on its own line beneath it | Final line, on its own |
Synthetic Test Data Generation for Canadian Test Addresses
Synthetic test data generation for Canada has to get the alternating letter-digit postal code pattern right before anything else, because that pattern is the first thing a real Canadian address-validation integration checks, and a malformed code never reaches the logic a QA engineer actually wants exercised. UPU S42 exists precisely because a code shape this specific to one country cannot be assumed to generalise, and Canada's six-character alternating pattern is one of the clearest examples of why a single global template would fail.
Fake Addresses states its Canadian coherence level plainly on the random Canada address generator: the Forward Sortation Area is real and point-in-polygon verified against a real province, while the Local Delivery Unit and the street line are synthesised, because no free Canadian source reaches either one. A QA engineer testing a Canadian shipping or billing form can see exactly which three characters of a generated postal code are real before deciding whether a given test case is the right one to run.
Every generated Canadian record stays non-deliverable by construction for the same reason the United Kingdom's does. The fields no free source reaches are exactly the fields that would otherwise let a synthetic record coincide with a real delivery point, so leaving them synthetic is what keeps a Canadian test fixture safe to run against a live system without any risk of resolving to somebody's real address.
Frequently asked questions
Why does a Canadian postal code always alternate letters and digits?
Canada Post assigns codes in a fixed letter-digit-letter, digit-letter-digit pattern across the entire country, unlike a US ZIP code's five plain digits or a UK postcode's variable-length outward code. Fake Addresses generates every Canadian postal code against that same fixed six-character pattern.
What is a Forward Sortation Area?
A Forward Sortation Area is the first three characters of a Canadian postal code, and it is the part Fake Addresses draws from a real, point-in-polygon-verified source for every generated Canadian record. The remaining three characters, the Local Delivery Unit, are synthesised because no free source publishes them.
Does Fake Addresses use two spaces before a Canadian postal code?
Yes. The conventional printed form separates the city and province from the postal code with two spaces rather than one, and Fake Addresses follows that same Canadian-specific spacing convention on every generated last line.
Sources
- Universal Postal Union — The Universal Postal Union runs an addressing-solutions programme, including international addressing standards and assistance to member countries whose addresses do not follow a US or UK-style format.
- United States Postal Service — Postal Explorer — USPS Publication 28 defines a "standardized address" as one using official USPS abbreviations, and a "complete address" as one containing everything needed to match the ZIP+4 and City State files.