Loading…

Frost Dates for 110 Canadian Towns

Average last spring frost, average first fall frost and frost-free season length for 110 smaller towns across 10 provinces — from Environment and Climate Change Canada's 1981–2010 Canadian Climate Normals, with every station named and its Climate ID given.

Updated August 2026 · Environment and Climate Change Canada, Canadian Climate Normals 1981–2010

Frost dates for smaller Canadian towns: this page holds ECCC climate normals for 110 towns that are not among the major cities covered elsewhere on the site. The frost-free season runs from Dease Lake at 58 days to Sandspit at 223 days. Each town names the ECCC station that recorded it and that station's Climate ID, so any figure can be checked at source. No hardiness zone is given, because none is published for these towns — and 49 of the stations are airports, which sit in open ground and frost earlier than a sheltered town centre.

How to read the station column. A station name ending in A is an airport; AUT, CS or RCS mark an automatic station. Those sit on open, flat, often low ground where cold air settles on a clear, still night, so they record frost earlier in fall and later in spring than a garden in town. The letter after the Climate ID is ECCC's own completeness rating for that value — A means a nearly complete record over the period, D means noticeably fewer years behind the average.

British Columbia — 21 towns

Town Last spring frost First fall frost Frost-free days ECCC station (Climate ID, code)
Atlin Jun 3 Sep 9 97 ATLIN (1200560, C)
Bella Coola May 1 Oct 6 158 BELLA COOLA A (1060841, D)
Blue River Jun 1 Sep 10 101 BLUE RIVER A (1160899, C)
Campbell River Apr 28 Oct 9 163 CAMPBELL RIVER A (1021261, C)
Comox Apr 5 Nov 3 211 COMOX A (1021830, A)
Cranbrook May 18 Sep 22 126 CRANBROOK A (1152102, A)
Creston May 3 Oct 7 155 CRESTON (1142160, A)
Dawson Creek Jun 5 Aug 31 87 DAWSON CREEK A (1182285, C)
Dease Lake Jun 21 Aug 18 58 DEASE LAKE (1192340, D)
Fort Nelson May 16 Sep 11 117 FORT NELSON A (1192940, C)
Fort St. John May 13 Sep 16 125 FORT ST JOHN A (1183000, A)
Golden May 15 Sep 22 129 GOLDEN A (1173210, C)
Pleasant Camp May 24 Sep 22 120 PLEASANT CAMP (1206197, D)
Port Hardy Apr 17 Oct 31 196 PORT HARDY A (1026270, A)
Princeton May 23 Sep 17 116 PRINCETON A (1126510, C)
Sandspit Apr 11 Nov 21 223 SANDSPIT A (1057050, D)
Sparwood Jun 4 Sep 2 89 SPARWOOD (1157630, C)
Stewart Apr 29 Oct 12 165 STEWART A (1067742, C)
Terrace Apr 25 Oct 17 174 TERRACE A (1068130, A)
Warfield Apr 26 Oct 12 169 WARFIELD (1148700, D)
Williams Lake May 23 Sep 13 112 WILLIAMS LAKE A (1098940, A)

Alberta — 8 towns

Town Last spring frost First fall frost Frost-free days ECCC station (Climate ID, code)
Campsie Jun 2 Aug 29 87 CAMPSIE (3061200, C)
Camrose May 18 Sep 17 121 CAMROSE (3011240, C)
Cold Lake May 20 Sep 14 116 COLD LAKE A (3081680, A)
Fort McMurray May 30 Sep 6 97 FORT MCMURRAY A (3062693, A)
Fort Saskatchewan May 21 Sep 16 117 FORT SASKATCHEWAN (3012710, D)
Grande Prairie May 17 Sep 12 117 GRANDE PRAIRIE A (3072920, A)
Peace River May 19 Sep 9 112 PEACE RIVER A (3075040, C)
Queenstown May 20 Sep 20 122 QUEENSTOWN (3035340, D)

Saskatchewan — 5 towns

Town Last spring frost First fall frost Frost-free days ECCC station (Climate ID, code)
Estevan May 17 Sep 16 121 ESTEVAN A (4012400, A)
Kelliher May 21 Sep 13 114 KELLIHER (4013660, C)
Nipawin May 22 Sep 12 112 NIPAWIN A (4075518, D)
North Battleford May 23 Sep 12 111 NORTH BATTLEFORD A (4045600, C)
Watrous May 20 Sep 10 112 WATROUS (4018640, A)

Manitoba — 6 towns

Town Last spring frost First fall frost Frost-free days ECCC station (Climate ID, code)
Churchill Jun 19 Sep 15 87 CHURCHILL A (5060600, A)
Cypress River May 20 Sep 18 120 CYPRESS RIVER (5010640, A)
Dauphin May 23 Sep 17 116 DAUPHIN A (5040680, C)
Hodgson Jun 8 Sep 6 89 HODGSON 2 (5031301, D)
Pinawa May 27 Sep 19 113 PINAWA WNRE (5032162, D)
The Pas May 23 Sep 20 119 THE PAS A (5052880, A)

Ontario — 13 towns

Town Last spring frost First fall frost Frost-free days ECCC station (Climate ID, code)
Cornwall Apr 28 Oct 10 164 CORNWALL (6101874, C)
Delhi May 9 Oct 1 145 DELHI CDA (6131982, D)
Fort Erie May 4 Oct 12 160 FORT ERIE (6132470, D)
Geraldton Jun 4 Sep 14 101 GERALDTON A (6042716, A)
Haliburton Jun 3 Sep 16 104 HALIBURTON 3 (6163171, D)
Kapuskasing Jun 5 Sep 15 101 KAPUSKASING A (6073975, B)
Kemptville May 14 Sep 26 134 KEMPTVILLE (6104025, D)
Kenora May 11 Oct 2 144 KENORA A (6034075, A)
Kirkland Lake Jun 8 Sep 8 91 KIRKLAND LAKE (6074209, D)
New Glasgow ON May 3 Oct 14 163 NEW GLASGOW (6135583, A)
Trenton May 1 Oct 8 158 TRENTON A (6158875, A)
Vineland Apr 26 Oct 18 174 VINELAND RITTENHOUSE (6139143, D)
Welland May 9 Oct 9 151 WELLAND (6139445, D)

Quebec — 32 towns

Town Last spring frost First fall frost Frost-free days ECCC station (Climate ID, code)
Angers May 25 Sep 19 116 ANGERS (7030170, A)
Baie-Comeau May 30 Sep 15 108 BAIE-COMEAU A (7040440, C)
Beausejour May 23 Sep 25 124 BEAUSEJOUR (7020567, A)
Charteris May 22 Sep 18 117 CHARTERIS (7031315, D)
Coaticook May 19 Sep 29 132 COATICOOK (7021840, C)
Drummondville May 6 Oct 6 152 DRUMMONDVILLE (7022160, D)
Fleury May 12 Sep 26 135 FLEURY (7022375, A)
Fortierville May 24 Sep 15 113 FORTIERVILLE (7022494, C)
Granby May 9 Oct 7 150 GRANBY (7022800, A)
Grandes-Bergeronnes May 16 Oct 4 140 GRANDES BERGERONNES (7042840, C)
Kuujjuaq Jun 18 Sep 9 82 KUUJJUAQ A (7113534, C)
Kuujjuarapik Jun 22 Sep 25 94 KUUJJUARAPIK A (7103536, D)
La Grande Rivière Jun 19 Sep 20 92 LA GRANDE RIVIERE A (7093715, D)
Lachute May 12 Sep 30 140 LACHUTE (7033650, A)
Lauzon May 12 Oct 3 143 LAUZON (7024254, C)
Luskville May 20 Sep 20 122 LUSKVILLE (7034365, A)
Mont-Joli May 18 Oct 5 138 MONT-JOLI A (7055120, C)
Quebec Jean Lesage May 11 Oct 4 145 QUEBEC/JEAN LESAGE INTL A (7016294, D)
Rimouski May 13 Oct 11 150 RIMOUSKI (7056480, D)
Roberval May 20 Sep 27 130 ROBERVAL A (7066685, C)
Saguenay May 22 Sep 23 123 BAGOTVILLE A (7060400, A)
Saint-Anicet Apr 28 Oct 8 161 ST ANICET (7026836, A)
Saint-Camille Jun 1 Sep 8 98 ST CAMILLE (7056930, D)
Saint-Georges May 31 Sep 17 108 ST GEORGES (7027283, C)
Saint-Ludger Jun 1 Sep 13 103 ST LUDGER (7027516, D)
Saint-Michel May 18 Sep 26 130 SAINT MICHEL (7057567, D)
Sainte-Lucie Jun 11 Aug 27 76 STE LUCIE (7057515, D)
Scott May 21 Sep 25 126 SCOTT (7027840, C)
Sept-Îles May 25 Sep 27 124 SEPT-ILES A (7047910, D)
Sutton May 16 Oct 1 137 SUTTON (7028292, A)
Thetford Mines May 16 Oct 2 138 THETFORD MINES (7028441, B)
Val-d'Or Jun 5 Sep 10 96 VAL-D'OR A (7098600, D)

New Brunswick — 6 towns

Town Last spring frost First fall frost Frost-free days ECCC station (Climate ID, code)
Aroostook May 23 Sep 24 123 AROOSTOOK (8100300, D)
Bathurst May 21 Sep 24 125 BATHURST A (8100503, D)
Charlo May 22 Sep 28 128 CHARLO A (8100880, C)
Doaktown May 28 Sep 15 109 DOAKTOWN (8101200, C)
Saint-Léonard May 24 Sep 16 114 ST LEONARD A (8104928, C)
Sussex/Four Corners May 22 Sep 24 123 SUSSEX (8105200, A)

Nova Scotia — 10 towns

Town Last spring frost First fall frost Frost-free days ECCC station (Climate ID, code)
Bridgewater May 27 Sep 24 119 BRIDGEWATER (8200600, C)
Cheticamp May 26 Oct 21 147 CHETICAMP (8200825, D)
Collegeville Jun 7 Sep 19 102 COLLEGEVILLE (8201000, C)
Debert Jun 3 Sep 20 109 DEBERT (8201380, D)
Greenwood May 14 Oct 4 142 GREENWOOD A (8202000, A)
Ingonish Beach May 24 Oct 17 145 INGONISH BEACH (8202500, D)
Nappan May 29 Sep 27 120 NAPPAN CDA (8203700, C)
Parrsboro May 21 Oct 2 133 PARRSBORO (8204400, C)
Shearwater May 3 Oct 23 172 SHEARWATER A (8205090, C)
Waterville Cambridge May 23 Sep 29 128 WATERVILLE CAMBRIDGE (8206222, A)

Prince Edward Island — 2 towns

Town Last spring frost First fall frost Frost-free days ECCC station (Climate ID, code)
New Glasgow PE May 26 Oct 8 134 NEW GLASGOW (8300497, C)
St. Peters/Monticello May 29 Oct 15 138 MONTICELLO (8300447, C)

Newfoundland & Labrador — 7 towns

Town Last spring frost First fall frost Frost-free days ECCC station (Climate ID, code)
Cartwright Jun 14 Sep 23 99 CARTWRIGHT (8501100, A)
Deer Lake Jun 12 Sep 17 95 DEER LAKE A (8401501, C)
Gander Jun 1 Oct 16 136 GANDER INT'L A (8401700, A)
Goose Jun 4 Sep 24 110 GOOSE BAY A (8501900, A)
Harbour Breton May 18 Oct 20 153 HARBOUR BRETON (8402071, D)
Stephenville May 13 Oct 18 157 STEPHENVILLE A (8403800, A)
Wabush Jun 9 Sep 14 95 WABUSH LAKE A (8504175, C)

Where these figures come from

Every value on this page is ECCC's own published figure from the 1981–2010 Canadian Climate Normals, pulled station by station and keyed on Climate ID — the stable identifier for a station, as opposed to its name, which can be ambiguous. The three rows read are Average Date of Last Spring Frost, Average Date of First Fall Frost and Average Length of Frost-Free Period.

The 1981–2010 period is used because it is the only one that publishes those averages. ECCC's newer 1991–2020 normals give a frost probability table instead — the date by which frost has passed at 10%, 25%, 50%, 75% and 90% likelihood — with no plain mean. That distribution is genuinely more useful for planning a tender crop, and it is covered separately in our frost-risk dataset; a page about average frost dates has to use the period that publishes averages.

Towns with no station, or with a station that publishes no frost average, are simply absent. That is a deliberate omission rather than a gap to fill: substituting a neighbouring station's reading without saying so would make a figure look local when it is not. Where the site does use a proxy station — St. Catharines reads from Vineland, about 15 km away — the page says so in as many words.

Using this data

Free to use with attribution. Suggested citation:

GrowersGuide.ca, “Frost Dates for 110 Canadian Towns,” derived from Environment and Climate Change Canada, Canadian Climate Normals 1981–2010. https://growersguide.ca/canadian-town-frost-dates

Cite the underlying station data to Environment and Climate Change Canada directly — the Climate ID in each row is all you need to find the original record.

Frequently Asked Questions

Do you have frost dates for small Canadian towns?

Yes — this page lists average last spring frost, average first fall frost and frost-free season length for 110 smaller towns across 10 provinces, in addition to the major cities covered elsewhere on the site. Every figure comes from Environment and Climate Change Canada's 1981-2010 Canadian Climate Normals, and each town names the specific weather station that recorded it along with that station's Climate ID, so you can verify any number directly at climate.weather.gc.ca.

Why is there no hardiness zone for these towns?

Because none is published for them. Plant hardiness zones in Canada come from Natural Resources Canada, and NRCan publishes zones for the country as a mapped surface rather than as a value for every town. Working one out ourselves would be original research that a reader could easily mistake for the official figure, so we do not do it. The frost dates here are measured values; a zone would be a guess, and the two do not belong in the same table. For a zone, check the NRCan plant hardiness map directly.

Why does it matter which station a frost date came from?

It matters a great deal, and it is the reason every row here names one. Many Canadian climate stations sit at airports, which are typically open, flat, low-lying ground where cold air pools on a clear still night — so an airport frosts earlier in fall and later in spring than the town centre a few kilometres away. 49 of these 110 stations are airport or automatic stations. Treat the date as the honest reading it is, from that specific site, and expect a sheltered urban garden to run a few days milder.

What do the A, B, C and D codes mean?

They are ECCC's own rating of how complete the station's record was over the reference period, and they are shown rather than filtered out. An A means the station had a nearly complete record, and a D means it did not — the value is still ECCC's published figure, but it rests on fewer years of observation, so treat it as a good estimate rather than a precise one. 35 of the 110 towns here carry an A rating.

Why do these use the 1981-2010 normals rather than 1991-2020?

Because the average frost dates only exist in the older period. ECCC published the 1991-2020 normals with a frost-probability table — the date by which frost has passed at 10%, 25%, 50%, 75% and 90% likelihood — but without the plain averages. The mean date of last spring frost is only published for 1981-2010, so that is what a page about average frost dates has to use. Our frost-risk dataset covers the probability distribution from the newer period separately.

My town is not listed — what should I do?

Pick the nearest listed town or city with similar terrain. Within about 50 km on comparable ground, frost dates typically shift only three to five days, so a nearby reading is a good guide. Elevation and distance from a large body of water matter more than raw distance: a town 20 km inland from a lake can frost noticeably earlier than one on the shore, and a valley bottom frosts before the slope above it. Many Canadian towns simply have no weather station, and several that do have one publish no frost average, so there is nothing honest we can list for them.

Related data and tools

❄️
Frost Date CalculatorAny town above, with its planting dates
📊
City Frost Dates DatasetThe 38 major cities, with zones
📈
Frost Risk DatesThe 10–90% probability distribution
🌡️
Growing Degree DaysHeat budget by city, both periods
🔬
Data MethodologyHow every figure is pulled and checked
🍂
Fall Garden CountdownEvery job left, dated to your town
Save to Pinterest

🌱 Free Newsletter

Get New Guides Before Anyone Else

Canadian planting reminders, new calculators, and growing guides — free, no spam.

Suggest what we write next →

⭐ Most Popular