Map-style climate resource
Canada Garden Climate Atlas
A visual guide to frost-free days, seasonal crop heat, and short-season gardening pressure across Canadian cities.
Updated 2026-05-28 · 178 Canadian cities with both frost and GDD reference data.
Median frost-free season
134 days
Median across the Canadian cities in the table.
Median base-50 GDD
1382
Median seasonal heat accumulation across Canadian cities.
Core lesson
Time ≠ heat
A longer frost-free season does not always mean a warmer crop season.
Outdoor window
Frost-free days show how long tender crops usually have outside.
A short frost window pushes gardeners toward fast varieties, transplants, protection, or conservative crop choices.
Crop heat
GDD shows how much warmth accumulates inside that window.
Warm-season crops such as tomatoes, peppers, squash, corn, and melons need more than a late frost date. They need usable heat.
YT
NT
NU
BC
AB
SK
MB
ON
QC
ATL
Calgary, Alberta: 120 frost-free days.
Edmonton, Alberta: 106 frost-free days.
Red Deer, Alberta: 113 frost-free days.
Lethbridge, Alberta: 119 frost-free days.
Medicine Hat, Alberta: 136 frost-free days.
Vancouver, British Columbia: 236 frost-free days.
Victoria, British Columbia: 214 frost-free days.
Kelowna, British Columbia: 161 frost-free days.
Kamloops, British Columbia: 170 frost-free days.
Prince George, British Columbia: 108 frost-free days.
Saskatoon, Saskatchewan: 119 frost-free days.
Regina, Saskatchewan: 114 frost-free days.
Prince Albert, Saskatchewan: 114 frost-free days.
Winnipeg, Manitoba: 122 frost-free days.
Brandon, Manitoba: 123 frost-free days.
Airdrie, Alberta: 120 frost-free days.
Brooks, Alberta: 122 frost-free days.
Canmore, Alberta: 65 frost-free days.
Cold Lake, Alberta: 120 frost-free days.
Fort McMurray, Alberta: 101 frost-free days.
Grande Prairie, Alberta: 112 frost-free days.
Lloydminster, Alberta: 122 frost-free days.
Spruce Grove, Alberta: 141 frost-free days.
St. Albert, Alberta: 141 frost-free days.
Wetaskiwin, Alberta: 117 frost-free days.
Okotoks, Alberta: 120 frost-free days.
Cochrane, Alberta: 120 frost-free days.
Abbotsford, British Columbia: 218 frost-free days.
Chilliwack, British Columbia: 218 frost-free days.
Courtenay, British Columbia: 219 frost-free days.
Cranbrook, British Columbia: 128 frost-free days.
Fort St. John, British Columbia: 127 frost-free days.
Nanaimo, British Columbia: 236 frost-free days.
Nelson, British Columbia: 168 frost-free days.
Penticton, British Columbia: 161 frost-free days.
Powell River, British Columbia: 219 frost-free days.
Quesnel, British Columbia: 120 frost-free days.
Revelstoke, British Columbia: 103 frost-free days.
Salmon Arm, British Columbia: 161 frost-free days.
Terrace, British Columbia: 175 frost-free days.
Vernon, British Columbia: 161 frost-free days.
Williams Lake, British Columbia: 116 frost-free days.
Whistler, British Columbia: 192 frost-free days.
Port Alberni, British Columbia: 219 frost-free days.
Swift Current, Saskatchewan: 123 frost-free days.
Yorkton, Saskatchewan: 121 frost-free days.
North Battleford, Saskatchewan: 110 frost-free days.
Weyburn, Saskatchewan: 123 frost-free days.
Estevan, Saskatchewan: 123 frost-free days.
Melfort, Saskatchewan: 115 frost-free days.
La Ronge, Saskatchewan: 79 frost-free days.
Steinbach, Manitoba: 122 frost-free days.
Portage la Prairie, Manitoba: 132 frost-free days.
Thompson, Manitoba: 75 frost-free days.
Winkler, Manitoba: 136 frost-free days.
Selkirk, Manitoba: 122 frost-free days.
Morden, Manitoba: 136 frost-free days.
Dauphin, Manitoba: 122 frost-free days.
The Pas, Manitoba: 121 frost-free days.
Ottawa, Ontario: 159 frost-free days.
Kingston, Ontario: 170 frost-free days.
London, Ontario: 166 frost-free days.
Windsor, Ontario: 198 frost-free days.
Sudbury, Ontario: 136 frost-free days.
Thunder Bay, Ontario: 108 frost-free days.
Sault Ste. Marie, Ontario: 124 frost-free days.
Guelph, Ontario: 150 frost-free days.
Kitchener, Ontario: 150 frost-free days.
Waterloo, Ontario: 150 frost-free days.
Cambridge, Ontario: 150 frost-free days.
Brantford, Ontario: 164 frost-free days.
Niagara Falls, Ontario: 161 frost-free days.
St. Catharines, Ontario: 161 frost-free days.
Peterborough, Ontario: 131 frost-free days.
Barrie, Ontario: 142 frost-free days.
Belleville, Ontario: 162 frost-free days.
Cornwall, Ontario: 162 frost-free days.
North Bay, Ontario: 137 frost-free days.
Timmins, Ontario: 92 frost-free days.
Orillia, Ontario: 142 frost-free days.
Owen Sound, Ontario: 151 frost-free days.
Stratford, Ontario: 150 frost-free days.
Chatham-Kent, Ontario: 149 frost-free days.
Leamington, Ontario: 181 frost-free days.
Woodstock, Ontario: 166 frost-free days.
Montreal, Quebec: 168 frost-free days.
Quebec City, Quebec: 148 frost-free days.
Gatineau, Quebec: 159 frost-free days.
Sherbrooke, Quebec: 134 frost-free days.
Trois-Rivières, Quebec: 138 frost-free days.
Saguenay, Quebec: 130 frost-free days.
Drummondville, Quebec: 138 frost-free days.
Saint-Hyacinthe, Quebec: 138 frost-free days.
Granby, Quebec: 155 frost-free days.
Rimouski, Quebec: 151 frost-free days.
Fredericton, New Brunswick: 136 frost-free days.
Moncton, New Brunswick: 136 frost-free days.
Saint John, New Brunswick: 129 frost-free days.
Bathurst, New Brunswick: 129 frost-free days.
Charlottetown, Prince Edward Island: 154 frost-free days.
Summerside, Prince Edward Island: 154 frost-free days.
Halifax, Nova Scotia: 182 frost-free days.
Truro, Nova Scotia: 116 frost-free days.
New Glasgow, Nova Scotia: 104 frost-free days.
Kentville, Nova Scotia: 135 frost-free days.
Sydney, Nova Scotia: 151 frost-free days.
Yarmouth, Nova Scotia: 179 frost-free days.
St. John's, Newfoundland and Labrador: 143 frost-free days.
Gander, Newfoundland and Labrador: 142 frost-free days.
Whitehorse, Yukon: 86 frost-free days.
Yellowknife, Northwest Territories: 120 frost-free days.
Corner Brook, Newfoundland and Labrador: 102 frost-free days.
Camrose, Alberta: 117 frost-free days.
Lacombe, Alberta: 113 frost-free days.
Leduc, Alberta: 106 frost-free days.
Surrey, British Columbia: 202 frost-free days.
Burnaby, British Columbia: 236 frost-free days.
Campbell River, British Columbia: 169 frost-free days.
Toronto, Ontario: 176 frost-free days.
Hamilton, Ontario: 164 frost-free days.
Mississauga, Ontario: 176 frost-free days.
Oshawa, Ontario: 168 frost-free days.
Welland, Ontario: 161 frost-free days.
Saint-Jean-sur-Richelieu, Quebec: 155 frost-free days.
Miramichi, New Brunswick: 135 frost-free days.
Edmundston, New Brunswick: 117 frost-free days.
Bridgewater, Nova Scotia: 125 frost-free days.
Amherst, Nova Scotia: 129 frost-free days.
Kenora, Ontario: 145 frost-free days.
Dryden, Ontario: 134 frost-free days.
Elliot Lake, Ontario: 136 frost-free days.
Kapuskasing, Ontario: 105 frost-free days.
Sioux Lookout, Ontario: 134 frost-free days.
Rouyn-Noranda, Quebec: 123 frost-free days.
Val-d'Or, Quebec: 108 frost-free days.
Amos, Quebec: 108 frost-free days.
Sept-Îles, Quebec: 98 frost-free days.
Baie-Comeau, Quebec: 115 frost-free days.
Chibougamau, Quebec: 138 frost-free days.
Cochrane, Ontario: 105 frost-free days.
Moosonee, Ontario: 105 frost-free days.
Red Lake, Ontario: 125 frost-free days.
Wawa, Ontario: 124 frost-free days.
Chapleau, Ontario: 112 frost-free days.
Matagami, Quebec: 104 frost-free days.
Forestville, Quebec: 130 frost-free days.
Meadow Lake, Saskatchewan: 97 frost-free days.
Flin Flon, Manitoba: 126 frost-free days.
Peace River, Alberta: 115 frost-free days.
Smithers, British Columbia: 114 frost-free days.
Whitecourt, Alberta: 118 frost-free days.
Slave Lake, Alberta: 113 frost-free days.
Hinton, Alberta: 92 frost-free days.
Banff, Alberta: 65 frost-free days.
Rocky Mountain House, Alberta: 73 frost-free days.
Fort Nelson, British Columbia: 122 frost-free days.
Hay River, Northwest Territories: 65 frost-free days.
High Level, Alberta: 99 frost-free days.
Fort Vermilion, Alberta: 99 frost-free days.
Edson, Alberta: 92 frost-free days.
Kindersley, Saskatchewan: 103 frost-free days.
Humboldt, Saskatchewan: 119 frost-free days.
Swan River, Manitoba: 102 frost-free days.
Mackenzie, British Columbia: 114 frost-free days.
100 Mile House, British Columbia: 170 frost-free days.
Burlington, Ontario: 164 frost-free days.
Oakville, Ontario: 164 frost-free days.
Milton, Ontario: 164 frost-free days.
Pickering, Ontario: 163 frost-free days.
Whitby, Ontario: 168 frost-free days.
Newmarket, Ontario: 163 frost-free days.
Aurora, Ontario: 163 frost-free days.
Richmond Hill, Ontario: 163 frost-free days.
Vaughan, Ontario: 163 frost-free days.
Markham, Ontario: 163 frost-free days.
Repentigny, Quebec: 138 frost-free days.
Terrebonne, Quebec: 168 frost-free days.
Shawinigan, Quebec: 138 frost-free days.
Calgary
Edmonton
Vancouver
Winnipeg
Montreal
Halifax
Toronto
GrowByDate.com · Canada Garden Climate Atlas
Very short Under 100 days
Short 100–129 days
Moderate 130–159 days
Long 160–189 days
Very long 190+ days
YT
NT
NU
BC
AB
SK
MB
ON
QC
ATL
Calgary, Alberta: 841 base-50 GDD.
Edmonton, Alberta: 679 base-50 GDD.
Red Deer, Alberta: 589 base-50 GDD.
Lethbridge, Alberta: 867 base-50 GDD.
Medicine Hat, Alberta: 589 base-50 GDD.
Vancouver, British Columbia: 1938 base-50 GDD.
Victoria, British Columbia: 689 base-50 GDD.
Kelowna, British Columbia: 1748 base-50 GDD.
Kamloops, British Columbia: 679 base-50 GDD.
Prince George, British Columbia: 287 base-50 GDD.
Saskatoon, Saskatchewan: 901 base-50 GDD.
Regina, Saskatchewan: 901 base-50 GDD.
Prince Albert, Saskatchewan: 870 base-50 GDD.
Winnipeg, Manitoba: 703 base-50 GDD.
Brandon, Manitoba: 1089 base-50 GDD.
Airdrie, Alberta: 1339 base-50 GDD.
Brooks, Alberta: 1392 base-50 GDD.
Canmore, Alberta: 883 base-50 GDD.
Cold Lake, Alberta: 833 base-50 GDD.
Fort McMurray, Alberta: 1666 base-50 GDD.
Grande Prairie, Alberta: 912 base-50 GDD.
Lloydminster, Alberta: 1028 base-50 GDD.
Spruce Grove, Alberta: 803 base-50 GDD.
St. Albert, Alberta: 912 base-50 GDD.
Wetaskiwin, Alberta: 1028 base-50 GDD.
Okotoks, Alberta: 867 base-50 GDD.
Cochrane, Alberta: 833 base-50 GDD.
Abbotsford, British Columbia: 689 base-50 GDD.
Chilliwack, British Columbia: 1610 base-50 GDD.
Courtenay, British Columbia: 963 base-50 GDD.
Cranbrook, British Columbia: 1099 base-50 GDD.
Fort St. John, British Columbia: 679 base-50 GDD.
Nanaimo, British Columbia: 1077 base-50 GDD.
Nelson, British Columbia: 2570 base-50 GDD.
Penticton, British Columbia: 1396 base-50 GDD.
Powell River, British Columbia: 1396 base-50 GDD.
Quesnel, British Columbia: 1610 base-50 GDD.
Revelstoke, British Columbia: 585 base-50 GDD.
Salmon Arm, British Columbia: 689 base-50 GDD.
Terrace, British Columbia: 1748 base-50 GDD.
Vernon, British Columbia: 1935 base-50 GDD.
Williams Lake, British Columbia: 830 base-50 GDD.
Whistler, British Columbia: 775 base-50 GDD.
Port Alberni, British Columbia: 1938 base-50 GDD.
Swift Current, Saskatchewan: 1112 base-50 GDD.
Yorkton, Saskatchewan: 1227 base-50 GDD.
North Battleford, Saskatchewan: 1117 base-50 GDD.
Weyburn, Saskatchewan: 1421 base-50 GDD.
Estevan, Saskatchewan: 1461 base-50 GDD.
Melfort, Saskatchewan: 901 base-50 GDD.
La Ronge, Saskatchewan: 1036 base-50 GDD.
Steinbach, Manitoba: 1135 base-50 GDD.
Portage la Prairie, Manitoba: 1586 base-50 GDD.
Thompson, Manitoba: 1129 base-50 GDD.
Winkler, Manitoba: 1089 base-50 GDD.
Selkirk, Manitoba: 703 base-50 GDD.
Morden, Manitoba: 1497 base-50 GDD.
Dauphin, Manitoba: 1435 base-50 GDD.
The Pas, Manitoba: 1497 base-50 GDD.
Ottawa, Ontario: 2170 base-50 GDD.
Kingston, Ontario: 1352 base-50 GDD.
London, Ontario: 1873 base-50 GDD.
Windsor, Ontario: 2274 base-50 GDD.
Sudbury, Ontario: 1973 base-50 GDD.
Thunder Bay, Ontario: 2260 base-50 GDD.
Sault Ste. Marie, Ontario: 2372 base-50 GDD.
Guelph, Ontario: 873 base-50 GDD.
Kitchener, Ontario: 1063 base-50 GDD.
Waterloo, Ontario: 1946 base-50 GDD.
Cambridge, Ontario: 1176 base-50 GDD.
Brantford, Ontario: 2274 base-50 GDD.
Niagara Falls, Ontario: 1275 base-50 GDD.
St. Catharines, Ontario: 1973 base-50 GDD.
Peterborough, Ontario: 1946 base-50 GDD.
Barrie, Ontario: 808 base-50 GDD.
Belleville, Ontario: 1873 base-50 GDD.
Cornwall, Ontario: 2372 base-50 GDD.
North Bay, Ontario: 1932 base-50 GDD.
Timmins, Ontario: 1297 base-50 GDD.
Orillia, Ontario: 1873 base-50 GDD.
Owen Sound, Ontario: 808 base-50 GDD.
Stratford, Ontario: 2005 base-50 GDD.
Chatham-Kent, Ontario: 873 base-50 GDD.
Leamington, Ontario: 1946 base-50 GDD.
Woodstock, Ontario: 1352 base-50 GDD.
Montreal, Quebec: 1403 base-50 GDD.
Quebec City, Quebec: 1403 base-50 GDD.
Gatineau, Quebec: 2170 base-50 GDD.
Sherbrooke, Quebec: 1460 base-50 GDD.
Trois-Rivières, Quebec: 1953 base-50 GDD.
Saguenay, Quebec: 955 base-50 GDD.
Drummondville, Quebec: 2091 base-50 GDD.
Saint-Hyacinthe, Quebec: 955 base-50 GDD.
Granby, Quebec: 1977 base-50 GDD.
Rimouski, Quebec: 1371 base-50 GDD.
Fredericton, New Brunswick: 1140 base-50 GDD.
Moncton, New Brunswick: 1474 base-50 GDD.
Saint John, New Brunswick: 1051 base-50 GDD.
Bathurst, New Brunswick: 1403 base-50 GDD.
Charlottetown, Prince Edward Island: 1503 base-50 GDD.
Summerside, Prince Edward Island: 1505 base-50 GDD.
Halifax, Nova Scotia: 1579 base-50 GDD.
Truro, Nova Scotia: 1282 base-50 GDD.
New Glasgow, Nova Scotia: 1448 base-50 GDD.
Kentville, Nova Scotia: 1311 base-50 GDD.
Sydney, Nova Scotia: 1277 base-50 GDD.
Yarmouth, Nova Scotia: 1311 base-50 GDD.
St. John's, Newfoundland and Labrador: 1579 base-50 GDD.
Gander, Newfoundland and Labrador: 1357 base-50 GDD.
Whitehorse, Yukon: 1474 base-50 GDD.
Yellowknife, Northwest Territories: 725 base-50 GDD.
Corner Brook, Newfoundland and Labrador: 2260 base-50 GDD.
Camrose, Alberta: 937 base-50 GDD.
Lacombe, Alberta: 503 base-50 GDD.
Leduc, Alberta: 325 base-50 GDD.
Surrey, British Columbia: 1809 base-50 GDD.
Burnaby, British Columbia: 904 base-50 GDD.
Campbell River, British Columbia: 1394 base-50 GDD.
Toronto, Ontario: 1634 base-50 GDD.
Hamilton, Ontario: 2181 base-50 GDD.
Mississauga, Ontario: 2274 base-50 GDD.
Oshawa, Ontario: 1873 base-50 GDD.
Welland, Ontario: 1709 base-50 GDD.
Saint-Jean-sur-Richelieu, Quebec: 1360 base-50 GDD.
Miramichi, New Brunswick: 1523 base-50 GDD.
Edmundston, New Brunswick: 1184 base-50 GDD.
Bridgewater, Nova Scotia: 1639 base-50 GDD.
Amherst, Nova Scotia: 1241 base-50 GDD.
Kenora, Ontario: 1911 base-50 GDD.
Dryden, Ontario: 2561 base-50 GDD.
Elliot Lake, Ontario: 2167 base-50 GDD.
Kapuskasing, Ontario: 2285 base-50 GDD.
Sioux Lookout, Ontario: 2999 base-50 GDD.
Rouyn-Noranda, Quebec: 1156 base-50 GDD.
Val-d'Or, Quebec: 758 base-50 GDD.
Amos, Quebec: 1952 base-50 GDD.
Sept-Îles, Quebec: 71 base-50 GDD.
Baie-Comeau, Quebec: 2207 base-50 GDD.
Chibougamau, Quebec: 758 base-50 GDD.
Cochrane, Ontario: 1925 base-50 GDD.
Moosonee, Ontario: 1925 base-50 GDD.
Red Lake, Ontario: 1530 base-50 GDD.
Wawa, Ontario: 1153 base-50 GDD.
Chapleau, Ontario: 2134 base-50 GDD.
Matagami, Quebec: 1601 base-50 GDD.
Forestville, Quebec: 1061 base-50 GDD.
Meadow Lake, Saskatchewan: 678 base-50 GDD.
Flin Flon, Manitoba: 1135 base-50 GDD.
Peace River, Alberta: 925 base-50 GDD.
Smithers, British Columbia: 1742 base-50 GDD.
Whitecourt, Alberta: 1155 base-50 GDD.
Slave Lake, Alberta: 1392 base-50 GDD.
Hinton, Alberta: 1107 base-50 GDD.
Banff, Alberta: 503 base-50 GDD.
Rocky Mountain House, Alberta: 952 base-50 GDD.
Fort Nelson, British Columbia: 854 base-50 GDD.
Hay River, Northwest Territories: 0 base-50 GDD.
High Level, Alberta: 1392 base-50 GDD.
Fort Vermilion, Alberta: 1392 base-50 GDD.
Edson, Alberta: 833 base-50 GDD.
Kindersley, Saskatchewan: 640 base-50 GDD.
Humboldt, Saskatchewan: 1412 base-50 GDD.
Swan River, Manitoba: 1411 base-50 GDD.
Mackenzie, British Columbia: 1742 base-50 GDD.
100 Mile House, British Columbia: 819 base-50 GDD.
Burlington, Ontario: 2134 base-50 GDD.
Oakville, Ontario: 2396 base-50 GDD.
Milton, Ontario: 2260 base-50 GDD.
Pickering, Ontario: 1724 base-50 GDD.
Whitby, Ontario: 730 base-50 GDD.
Newmarket, Ontario: 1714 base-50 GDD.
Aurora, Ontario: 2396 base-50 GDD.
Richmond Hill, Ontario: 2274 base-50 GDD.
Vaughan, Ontario: 1063 base-50 GDD.
Markham, Ontario: 2561 base-50 GDD.
Repentigny, Quebec: 1952 base-50 GDD.
Terrebonne, Quebec: 1896 base-50 GDD.
Shawinigan, Quebec: 1527 base-50 GDD.
Calgary
Edmonton
Vancouver
Winnipeg
Montreal
Halifax
Toronto
GrowByDate.com · Canada Garden Climate Atlas
Very cool Under 1,000 base-50 GDD
Cool 1,000–1,499
Moderate heat 1,500–1,999
Warm 2,000–2,499
High heat 2,500+
Climate leaders and pressure points
The fastest read is often in the extremes: which places have the most outdoor time, which places are most compressed, and which places accumulate the most usable crop heat.
Longest frost-free seasons
- Vancouver, BC — 236 days
- Nanaimo, BC — 236 days
- Burnaby, BC — 236 days
- Courtenay, BC — 219 days
- Powell River, BC — 219 days
Shortest frost-free seasons
- Canmore, AB — 65 days
- Banff, AB — 65 days
- Hay River, NT — 65 days
- Rocky Mountain House, AB — 73 days
- Thompson, MB — 75 days
Highest base-50 GDD
- Sioux Lookout, ON — 2999 GDD
- Nelson, BC — 2570 GDD
- Dryden, ON — 2561 GDD
- Markham, ON — 2561 GDD
- Oakville, ON — 2396 GDD
Lowest base-50 GDD
- Hay River, NT — 0 GDD
- Sept-Îles, QC — 71 GDD
- Prince George, BC — 287 GDD
- Leduc, AB — 325 GDD
- Lacombe, AB — 503 GDD
Provincial and territorial summary
Median values are calculated from the Canadian cities in the table.
How to use the atlas
Frost-free days estimate the outdoor window for tender crops. Base-50°F GDD estimates how much crop heat accumulates during the season. For warm-season crops, the best planning read comes from comparing both signals together.
- Use the frost-free map to compare outdoor season length.
- Use the GDD map to compare seasonal heat for crops such as tomatoes, peppers, corn, squash, and melons.
- Use Long Season vs Warm Season to understand why the two signals are not interchangeable.
Share, cite, or reference this atlas
Use the atlas when writing about Canadian garden climate, frost-free season length, growing degree days, or short-season crop planning.
Suggested citation
Image or screenshot credit
Suggested social caption
Methodology and limits
This atlas joins city frost-date records with base-50°F GDD reference records. Frost-free days are calculated from average last spring frost and first fall frost. GDD values represent seasonal accumulated crop heat from the mapped station series. These values are planning averages, not site-specific forecasts.