Canadian Frost Dates Data — 38 Cities
Canadian frost dates data in one citable table: average last spring frost, first fall frost, frost-free season length, and plant hardiness zone for 38 cities — compiled from Environment and Climate Change Canada climate normals (1991–2020). Free to use with attribution.
Updated June 2026 · Environment and Climate Change Canada normals (1991–2020)
Canadian frost dates data at a glance: across 38 cities, average last spring frosts run from March 10 (Victoria) to May 31 (Sudbury), and average first fall frosts from September 12 (Saskatoon) to December 15 (Victoria). The frost-free season spans 109 days in Sudbury to 280 in Victoria — a 171-day national spread. Source: Environment and Climate Change Canada climate normals, 1991–2020 reference period. Free to cite with a link to this page.
📥 Download the dataset
All 38 cities as CSV — opens in Excel, Google Sheets, R, or Python.
Download CSV →📝 How to cite this data
Frost dates: ECCC climate normals (1991–2020), compiled by GrowersGuide.ca
Frost Dates for 38 Canadian Cities
Click any column header to sort. City names link to the full planting guide for that city.
| City ↕ | Province ↕ | Last Spring Frost ↕ | First Fall Frost ↕ | Frost-Free Days ↕ | Zone ↕ |
|---|---|---|---|---|---|
| Calgary | AB | May 23 | September 21 | 121 | 3b |
| Edmonton | AB | May 14 | September 23 | 132 | 4a |
| Lethbridge | AB | May 14 | September 27 | 136 | 5a/5b |
| Red Deer | AB | May 19 | September 13 | 117 | 4b |
| Abbotsford | BC | April 11 | November 1 | 204 | 8a |
| Burnaby | BC | March 15 | November 15 | 245 | 8a |
| Chilliwack | BC | April 7 | November 7 | 214 | 8a |
| Kamloops | BC | May 4 | October 9 | 158 | 6b |
| Kelowna | BC | May 5 | October 15 | 163 | 6b |
| Nanaimo | BC | March 20 | November 15 | 240 | 8b |
| Surrey | BC | March 15 | November 15 | 245 | 8a |
| Vancouver | BC | March 15 | November 30 | 260 | 8b |
| Victoria | BC | March 10 | December 15 | 280 | 8b |
| Winnipeg | MB | May 25 | September 20 | 118 | 3a |
| Fredericton | NB | May 17 | September 26 | 132 | 5b |
| Moncton | NB | May 15 | September 28 | 136 | 5b |
| Saint John | NB | May 8 | October 8 | 153 | 6a |
| St. John's | NL | May 24 | October 13 | 142 | 5b |
| Halifax | NS | May 10 | October 18 | 161 | 6a |
| Barrie | ON | May 21 | September 24 | 126 | 5a |
| Brampton | ON | April 25 | October 22 | 180 | 6a/6b |
| Guelph | ON | May 7 | October 5 | 151 | 5b |
| Hamilton | ON | April 25 | October 28 | 186 | 6b/7a |
| Kitchener | ON | May 1 | October 18 | 170 | 6a |
| London | ON | April 22 | October 18 | 179 | 6a |
| Mississauga | ON | April 20 | October 28 | 191 | 6b |
| Oshawa | ON | April 29 | October 15 | 169 | 6a |
| Ottawa | ON | May 9 | October 12 | 156 | 5a |
| St. Catharines | ON | April 15 | October 28 | 196 | 6b/7a |
| Sudbury | ON | May 31 | September 17 | 109 | 4b |
| Toronto | ON | April 20 | November 1 | 195 | 6b |
| Windsor | ON | April 20 | October 28 | 191 | 7a |
| Charlottetown | PE | May 10 | October 14 | 157 | 6a |
| Laval | QC | April 28 | October 10 | 165 | 6a |
| Montréal | QC | May 9 | October 7 | 151 | 5b |
| Québec City | QC | May 17 | September 28 | 134 | 4b/5a |
| Regina | SK | May 21 | September 17 | 119 | 3b |
| Saskatoon | SK | May 25 | September 12 | 110 | 3b |
Dates are 50th-percentile historical averages — in any given year, half of seasons frost earlier and half later, with typical year-to-year variation of ±2–3 weeks. Frost-free days = days between the average last and first frost.
Key Facts from the Dataset
The national spread in frost-free season length — from Sudbury's 109 days to Victoria's 280.
The gap between Canada's earliest last frost (Victoria, March 10) and its latest (Sudbury, May 31).
Canada's earliest major-city first fall frost (Saskatoon) — three months before Victoria's mid-December.
Toronto's frost-free season — the longest of any major Canadian city outside coastal BC.
Methodology and Sources
Frost dates in this table are 50th-percentile historical averages derived from Environment and Climate Change Canada (ECCC) climate normals for the 1991–2020 reference period, drawn from each city's primary climate stations and supplemented by station-level observations where a city's main station sits outside the urban core (airport stations typically read colder than in-city conditions on clear nights). The “average last frost” is the date by which half of recent years had seen their final spring frost; the “average first frost” is the date by which half had seen their first fall frost. Frost-free days are computed as the number of days between the two averages.
Hardiness zones reflect each city's urban-core zone under the Canadian Plant Hardiness Zone system. Within any metro area, real frost dates vary by neighbourhood — water moderation, elevation, and cold-air drainage routinely shift dates by one to two weeks within a single city. The per-city pages linked in the table break those microclimates down. ECCC updates its 30-year normals each decade; this table reflects the current official reference period and will be revised when the next normals are published (~2031).
Embed This Data on Your Site
Garden clubs, bloggers, and seed companies are welcome to embed the major-cities frost table. Copy the snippet below — it shows the live widget plus a one-line credit. Free to use; please keep the attribution link.
PREVIEW
COPY-PASTE SNIPPET
Click the box to select, then copy. The widget is self-updating — when ECCC normals change, your embed updates automatically.
Use of This Data
This compilation is free to use for any purpose — articles, newsletters, research, classroom use, or your own website — with attribution: credit “GrowersGuide.ca” with a link to this page. The underlying climate normals are published by Environment and Climate Change Canada; this table is GrowersGuide.ca's compilation and city-level interpretation of them. Questions, corrections, or a city you'd like added: reach us via the about page.