ON — province. Postal district K, L, M, N, P.
Ontario is the only province where one province code maps to five postal district letters, which makes it the widest single-province test surface in Canada.
A worked ON postal code: P4P 4B8.
Jonas Boucher 882 Prairie Drive Thunder Bay ON P4P 4B8 Canada
JONAS BOUCHER 882 PRAIRIE DR THUNDER BAY ON P4P 4B8 CANADA
A surprising amount of address code assumes a province has one postal prefix, because twelve of the thirteen regions behave that way. Ontario does not. Any test that asserts "every Ontario postal code starts with the same letter", or any lookup keyed on a single prefix per province, passes everywhere else and fails here. Generating a batch of Ontario records is the cheapest way to find that assumption in your code.
M covers Toronto and nothing else, so a record in M is always a Toronto record. That makes it useful for testing city-level routing or regional pricing rules without needing to match on the city name, which is far more fragile than matching on a postal district.
Ontario sorts near the middle alphabetically and near the top by population, so it is a common default in a province selector. If your form pre-selects it, generate records for other regions too — a bug in the province field is easy to miss when the default happens to be correct.
Ontario uses five postal district letters: K for eastern Ontario, L for the Golden Horseshoe, M for Toronto, N for southwestern Ontario and P for the north. Every generated Ontario postal code here starts with one of those five.
Yes. Select Toronto in the city filter, and every record returned uses the M district. You can also do this through the API with city=toronto.
No. The municipality and its postal district letter are real, so records are internally consistent and pass validation. The civic number, street, recipient and the rest of the postal code are generated. Nothing produced here is a deliverable address or belongs to anyone.
Because Ontario genuinely spans five postal districts. If that breaks something downstream, that is the bug this page is most useful for finding.
Every record is synthetic, generated for development, QA, testing, demos and staging. These records do not represent real people, and the addresses are not verified deliverable addresses.