Loading…

Frost Dates for 166 Canadian Towns

Average last spring frost, average first fall frost and frost-free season length for 166 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. 56 towns of 166 come from 1991–2020 instead: those stations publish no frost section in 1981–2010 at all. The Period column marks each of them.

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 166 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 — 25 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)
Penticton Apr 30 Oct 8 160 PENTICTON (1126146, D) — 1991–2020 normals
Pitt Meadows Apr 11 Oct 30 201 PITT MEADOWS (1106178, D) — 1991–2020 normals
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)
Quesnel May 22 Sep 19 119 QUESNEL (1096625, C) — 1991–2020 normals
Sandspit Apr 11 Nov 21 223 SANDSPIT A (1057050, D)
Smithers May 26 Sep 17 113 SMITHERS (1077499, D) — 1991–2020 normals
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 — 21 towns

Town Last spring frost First fall frost Frost-free days ECCC station (Climate ID, code)
Banff Jun 19 Aug 23 64 BANFF (3050519, C) — 1991–2020 normals
Campsie Jun 2 Aug 29 87 CAMPSIE (3061200, C)
Camrose May 18 Sep 17 121 CAMROSE (3011240, C)
Claresholm May 25 Sep 13 110 CLARESHOLM (3031640, D) — 1991–2020 normals
Cold Lake May 20 Sep 14 116 COLD LAKE A (3081680, A)
Edson Jun 4 Sep 4 91 EDSON (3062239, D) — 1991–2020 normals
Fort Chipewyan Jun 5 Sep 4 90 FORT CHIPEWYAN (3072655, D) — 1991–2020 normals
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)
High Level May 30 Sep 6 98 HIGH LEVEL (3073140, D) — 1991–2020 normals
Jasper Jun 14 Aug 26 72 JASPER (3053520, C) — 1991–2020 normals
Lac La Biche May 22 Sep 17 118 LAC LA BICHE (3063685, D) — 1991–2020 normals
Lloydminster May 18 Sep 17 121 LLOYDMINSTER (3013959, C) — 1991–2020 normals
Onefour May 15 Sep 24 131 ONEFOUR (3044923, D) — 1991–2020 normals
Peace River May 19 Sep 9 112 PEACE RIVER A (3075040, C)
Pincher Creek May 24 Sep 12 110 PINCHER CREEK (3035198, D) — 1991–2020 normals
Queenstown May 20 Sep 20 122 QUEENSTOWN (3035340, D)
Slave Lake May 26 Sep 16 112 SLAVE LAKE (3065995, C) — 1991–2020 normals
Vauxhall May 15 Sep 19 126 VAUXHALL (3036682, C) — 1991–2020 normals
Whitecourt May 20 Sep 15 118 WHITECOURT (3057376, D) — 1991–2020 normals

Saskatchewan — 13 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)
Key Lake Jun 15 Sep 2 78 KEY LAKE (4063753, D) — 1991–2020 normals
Kindersley May 21 Sep 20 122 KINDERSLEY (4043899, C) — 1991–2020 normals
La Ronge May 28 Sep 14 109 LA RONGE (4064149, C) — 1991–2020 normals
Meadow Lake May 30 Sep 4 97 MEADOW LAKE (4065057, C) — 1991–2020 normals
Melfort May 24 Sep 13 111 MELFORT (4055079, D) — 1991–2020 normals
Nipawin May 22 Sep 12 112 NIPAWIN A (4075518, D)
North Battleford May 23 Sep 12 111 NORTH BATTLEFORD A (4045600, C)
Stony Rapids Jun 10 Aug 30 79 STONY RAPIDS (4067799, D) — 1991–2020 normals
Swift Current May 19 Sep 19 122 SWIFT CURRENT (4028038, D) — 1991–2020 normals
Watrous May 20 Sep 10 112 WATROUS (4018640, A)
Yorkton May 20 Sep 18 120 YORKTON (4019073, D) — 1991–2020 normals

Manitoba — 12 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)
Flin Flon May 21 Sep 24 125 FLIN FLON (5050919, C) — 1991–2020 normals
Gillam Jun 12 Sep 12 91 GILLAM (5060999, D) — 1991–2020 normals
Gimli May 25 Sep 27 124 GIMLI (5031038, D) — 1991–2020 normals
Hodgson Jun 8 Sep 6 89 HODGSON 2 (5031301, D)
Island Lake May 24 Sep 29 127 ISLAND LAKE (5061374, C) — 1991–2020 normals
Lynn Lake Jun 4 Sep 14 101 LYNN LAKE (5061645, D) — 1991–2020 normals
Pinawa May 27 Sep 19 113 PINAWA WNRE (5032162, D)
Portage la Prairie May 19 Sep 28 130 PORTAGE SOUTHPORT (5012320, D) — 1991–2020 normals
The Pas May 23 Sep 20 119 THE PAS A (5052880, A)

Ontario — 25 towns

Town Last spring frost First fall frost Frost-free days ECCC station (Climate ID, code)
Brockville Apr 27 Oct 14 169 BROCKVILLE (6100970, D) — 1991–2020 normals
Cornwall Apr 28 Oct 10 164 CORNWALL (6101874, C)
Delhi May 9 Oct 1 145 DELHI CDA (6131982, D)
Earlton May 27 Sep 20 115 EARLTON (6072223, D) — 1991–2020 normals
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)
Harrow Apr 25 Oct 23 180 HARROW (6133360, D) — 1991–2020 normals
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)
North Bay May 15 Sep 29 135 NORTH BAY (6085680, C) — 1991–2020 normals
Peterborough May 16 Sep 24 130 PETERBOROUGH (6166415, D) — 1991–2020 normals
Pickle Lake May 25 Sep 27 125 PICKLE LAKE (6016525, D) — 1991–2020 normals
Red Lake May 28 Sep 20 114 RED LAKE (6016970, D) — 1991–2020 normals
Ridgetown May 10 Oct 6 149 RIDGETOWN (6137149, D) — 1991–2020 normals
Sault Ste. Marie May 28 Sep 29 123 SAULT STE MARIE (6057591, D) — 1991–2020 normals
Timmins Jun 7 Sep 7 91 TIMMINS/VICTOR POWER (6078282, D) — 1991–2020 normals
Trenton May 1 Oct 8 158 TRENTON A (6158875, A)
Vineland Apr 26 Oct 18 174 VINELAND RITTENHOUSE (6139143, D)
Wawa Jun 2 Sep 20 109 WAWA (6059407, C) — 1991–2020 normals
Welland May 9 Oct 9 151 WELLAND (6139445, D)
Wiarton May 12 Oct 10 151 WIARTON (6119499, C) — 1991–2020 normals

Quebec — 36 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)
Gaspé Jun 4 Sep 17 104 GASPE (7052601, D) — 1991–2020 normals
Granby May 9 Oct 7 150 GRANBY (7022800, A)
Grandes-Bergeronnes May 16 Oct 4 140 GRANDES BERGERONNES (7042840, C)
Îles-de-la-Madeleine May 5 Nov 5 183 ILES DE LA MADELEINE (7053250, D) — 1991–2020 normals
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)
Maniwaki May 16 Sep 26 132 MANIWAKI (7034480, D) — 1991–2020 normals
Mont-Joli May 18 Oct 5 138 MONT-JOLI A (7055120, C)
Natashquan May 28 Sep 20 114 NATASHQUAN (7045398, D) — 1991–2020 normals
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 — 9 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)
Bas Caraquet May 17 Oct 13 148 BAS CARAQUET (8100467, C) — 1991–2020 normals
Bathurst May 21 Sep 24 125 BATHURST A (8100503, D)
Bouctouche May 14 Oct 3 141 BOUCTOUCHE (8100592, D) — 1991–2020 normals
Charlo May 22 Sep 28 128 CHARLO A (8100880, C)
Doaktown May 28 Sep 15 109 DOAKTOWN (8101200, C)
Miramichi May 23 Oct 5 133 MIRAMICHI (8100989, D) — 1991–2020 normals
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 — 12 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)
Upper Stewiacke Jun 2 Sep 21 109 UPPER STEWIACKE (8204193, D) — 1991–2020 normals
Waterville Cambridge May 23 Sep 29 128 WATERVILLE CAMBRIDGE (8206222, A)
Yarmouth Apr 28 Oct 24 179 YARMOUTH (8206491, C) — 1991–2020 normals

Prince Edward Island — 3 towns

Town Last spring frost First fall frost Frost-free days ECCC station (Climate ID, code)
Alliston PE May 9 Oct 30 173 ALLISTON (8300100, D) — 1991–2020 normals
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 — 10 towns

Town Last spring frost First fall frost Frost-free days ECCC station (Climate ID, code)
Argentia May 10 Nov 4 176 DUNVILLE/ARGENTIA (8400104, D) — 1991–2020 normals
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)
Middle Arm Jun 15 Sep 25 102 MIDDLE ARM (8402644, C) — 1991–2020 normals
Nain Jun 15 Sep 23 99 NAIN (8502799, C) — 1991–2020 normals
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. 56 towns of 166 come from 1991–2020 instead: those stations publish no frost section in 1981–2010 at all. The Period column marks each of them.

The 1981–2010 period is used because it is the one that publishes those averages for all but a handful of stations — and that is a strong tendency, not a rule. ECCC does publish averages in the newer period for a few stations, including one on this page. 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 166 Canadian Towns,” derived from Environment and Climate Change Canada, Canadian Climate Normals 1981–2010 and 1991–2020. 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 166 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. 56 towns of 166 come from 1991-2020 instead: those stations publish no frost section in 1981-2010 at all. The Period column marks each of them.

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 166 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 166 towns here carry an A rating.

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

Because for almost every station 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 for all but a handful of stations. It is not a universal rule, and this page names any station where it does not hold: a few stations publish averages in 1991-2020 and nothing at all in 1981-2010, and those are taken from the newer period instead. 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

Planting reminders for your city, new calculators, and Canadian growing guides — free, no spam.

Suggest what we write next →

By subscribing you agree to receive gardening emails from GrowersGuide.ca. Every one has an unsubscribe link. See our privacy policy.

⭐ Most Popular