A frost date is not a day on the calendar. It is a probability drawn from thirty years of records at one weather station, which is why every figure below is a range and never a single day. The table gives the last spring freeze and the first fall freeze for a reference station in every US state and Canadian province, from the 1991-2020 climate normals published by NOAA’s National Centers for Environmental Information, alongside the statewide hardiness zones from the USDA’s 2023 map.
Find your row, then read the two sections underneath it. A state-level figure tells you when to start planning, not when to plant.
First freeze dates by state, at a glance
The darker the square, the earlier the cold arrives. Three states never see a freeze in an average year and are shown separately — a statewide average would be meaningless in Phoenix or Honolulu. Click any state or province for its own dates, its reference weather station and what the figure changes for sowing.
Frost dates by state and province
The last spring freeze and first fall freeze at a reference weather station in each state and province, from the 1991-2020 climate normals. These are ranges, not single days: a frost date is a probability, and elevation moves it by weeks inside the same state.
| State or province | Reference station the city the figures are measured at | Last spring frost 32°F, 30-70% band | First fall frost 32°F, 30-70% band | USDA zones 2023 map, statewide range |
|---|---|---|---|---|
| Alabama | Huntsville | March 19 to April 3 | November 2 to November 16 | 7a-9a |
| Alaska | Anchorage | May 3 to May 12 | September 22 to October 1 | 1a-8a |
| Arizona | Phoenix | no freeze in most years; a rare cold snap can bring 32F between late December and mid January | no reliable fall freeze; see the note | 4b-10b |
| Arkansas | Little Rock | March 12 to March 28 | November 7 to November 20 | 6b-8a |
| California | Los Angeles | no freeze occurs in an average year | no freeze occurs in an average year | 5a-11a |
| Colorado | Denver | May 1 to May 11 | September 30 to October 12 | 3b-7b |
| Connecticut | Bridgeport | April 2 to April 12 | October 28 to November 10 | 6a-7b |
| Delaware | Wilmington | April 3 to April 14 | October 26 to November 7 | 7a-8a |
| Florida | Jacksonville | February 16 to March 7 | November 26 to December 13 | 8b-11b |
| Georgia | Atlanta | March 11 to March 29 | November 13 to December 1 | 6a-9b |
| Hawaii | Honolulu | no freeze occurs in inhabited areas | no freeze occurs in inhabited areas | 9a-13a |
| Idaho | Boise | April 23 to May 7 | October 7 to October 21 | 3b-7b |
| Illinois | Chicago | April 11 to April 22 | October 24 to November 3 | 5a-7b |
| Indiana | Indianapolis | April 9 to April 21 | October 21 to October 30 | 5b-7a |
| Iowa | Des Moines | April 12 to April 24 | October 14 to October 25 | 4b-6a |
| Kansas | Wichita | April 4 to April 18 | October 23 to November 2 | 5b-7a |
| Kentucky | Louisville | March 24 to April 4 | November 2 to November 12 | 6a-7a |
| Louisiana | New Orleans | January 18 to February 8 | December 17 to January 8 | 8a-10a |
| Maine | Portland | April 22 to May 1 | October 9 to October 21 | 3b-6a |
| Maryland | Baltimore | April 3 to April 16 | October 26 to November 5 | 5b-8a |
| Massachusetts | Boston | April 1 to April 8 | November 3 to November 14 | 5a-7b |
| Michigan | Detroit | around April 30 in the Detroit area; early to mid May across most of the Lower Peninsula | October 6 to October 21 (zone 6a) | 4a-6b |
| Minnesota | Minneapolis | April 17 to April 30 | October 11 to October 23 | 3a-5a |
| Mississippi | Jackson | March 6 to March 22 | November 7 to November 22 | 7b-9a |
| Missouri | Kansas City | April 6 to April 20 | October 18 to October 29 | 5b-7b |
| Montana | Billings | April 29 to May 10 | October 1 to October 14 | 3a-6a |
| Nebraska | Omaha | April 12 to April 23 | October 15 to October 26 | 4a-5b |
| Nevada | Las Vegas | January 7 to February 1 | December 8 to December 23 | 4a-10a |
| New Hampshire | Manchester | April 16 to April 27 | October 13 to October 26 | 3b-6a |
| New Jersey | Newark | March 29 to April 6 | November 4 to November 16 | 6a-7b |
| New Mexico | Albuquerque | March 31 to April 12 | October 29 to November 9 | 4b-9a |
| New York | New York City | March 23 to April 3 | November 14 to November 27 | 3b-7b |
| North Carolina | Charlotte | March 23 to April 5 | October 30 to November 8 | 5b-8b |
| North Dakota | Fargo | May 4 to May 15 | September 25 to October 5 | 3a-4b |
| Ohio | Columbus | May 5 to May 15 (zone 6a) | October 5 to October 15 (zone 6a) | 5b-6b |
| Oklahoma | Oklahoma City | March 28 to April 10 | October 29 to November 8 | 6a-8a |
| Oregon | Portland | March 6 to March 21 | November 11 to November 27 | 4a-9b |
| Pennsylvania | Philadelphia | March 29 to April 6 | November 5 to November 16 | 5a-7b |
| Rhode Island | Providence | April 7 to April 17 | October 24 to November 3 | 6a-7b |
| South Carolina | Charleston | February 28 to March 17 | November 20 to December 5 | 7a-9a |
| South Dakota | Sioux Falls | April 29 to May 9 | September 24 to October 4 | 3b-5b |
| Tennessee | Nashville | March 31 to April 12 | October 28 to November 8 | 5b-8a |
| Texas | Houston | February 4 to March 1 | December 1 to December 19 | 6a-10a |
| Utah | Salt Lake City | April 12 to April 29 | October 18 to October 29 | 4a-9a |
| Vermont | Burlington | April 30 to May 10 | October 3 to October 13 | 3b-5b |
| Virginia | Virginia Beach | March 20 to April 3 | November 10 to November 24 | 5a-8b |
| Washington | Seattle | February 27 to March 18 | November 13 to November 30 | 4a-9a |
| West Virginia | Charleston | April 9 to April 23 | October 18 to November 1 | 5a-7a |
| Wisconsin | Milwaukee | April 16 to April 29 | October 17 to October 29 | 3b-6a |
| Wyoming | Cheyenne | May 7 to May 18 | September 24 to October 5 | 3a-6a |
| Alberta | Calgary | on average May 21 | on average September 16 | — |
| British Columbia | Vancouver | on average March 18 | on average November 10 | — |
| Manitoba | Winnipeg | on average May 23 | on average September 22 | — |
| New Brunswick | Moncton | on average May 23 | on average October 2 | — |
| Newfoundland and Labrador | St. John's | on average May 30 | on average October 17 | — |
| Northwest Territories | Yellowknife | on average May 25 | on average September 18 | — |
| Nova Scotia | Halifax | on average May 7 | on average October 18 | — |
| Nunavut | Rankin Inlet | on average June 19 | on average September 13 | — |
| Ontario | Toronto | on average April 30 | on average October 16 | — |
| Prince Edward Island | Charlottetown | on average May 16 | on average October 17 | — |
| Quebec | Montreal | on average May 6 | on average October 5 | — |
| Saskatchewan | Saskatoon | on average May 18 | on average September 18 | — |
| Yukon | Whitehorse | on average June 5 | on average August 25 | — |
Source: NOAA NCEI 1991-2020 Climate Normals, and the USDA Plant Hardiness Zone Map (2023). Canadian stations from ECCC. · 63 entries · updated August 23, 2026
Turning a frost date into a sowing date
The number most gardeners actually want is not the frost date but the day they should start seed, and you get there by counting backwards from the far end of the season. Take the days to maturity printed on the seed packet. Add two weeks, because a transplant spends its first fortnight in the ground sulking rather than growing. Count that total back from your first fall freeze. If the answer lands before your last spring freeze, the variety does not fit your season, and no amount of care will change it.
Counting back from a range gives you another range. If your last spring freeze runs from April 9 to April 23 and a variety needs six weeks indoors, you sow in late February to mid March. Not March 5. The precision was never there, and writing it down does not create it. We apply the same rule everywhere on this site, which is why our tomato guides give windows rather than dates.
Two dates matter more than the frost itself. The first is the day the soil reaches 60°F, usually a fortnight after the last freeze, because a tomato set into cold ground stalls for three weeks and is overtaken by one planted later. The second is the last useful planting date in summer, which is the first fall freeze minus the days to maturity minus about a month of picking. Miss that one and the fruit sets but never colours.
Why the weather station matters more than the state line
Every figure in the table comes from one airport weather station, named in the second column. That choice is deliberate. Airport stations sit away from the dense pavement and brick that keep a city centre several degrees warmer through the night, and using a downtown station would hand you a growing season your garden does not have.
Toronto shows the gap better than any explanation. The downtown station records a frost-free season of 203 days; the suburban station records 157. Same city, forty-six days apart, and the suburban figure is the one that matches an actual back garden.
The same effect works at the scale of a state, usually through elevation. A valley floor and a ridge twenty miles away can sit three weeks apart in both spring and autumn, which is why West Virginia’s figures carry a warning about higher ground freezing earlier. Distance from a large body of water does the rest: the shore of Lake Michigan and the middle of the same state are not on the same schedule, and neither are the coast and the interior of Oregon or Washington.
The frost date is only half the question
A long season is not automatically a good one. Alaska records around 133 frost-free days at Anchorage, which on paper is enough for almost any tomato in a seed catalogue. In practice it is not, because the season is long and cold: the plant has the time but not the heat, and a tomato stops setting fruit when nights fall below 50°F however green the leaves look.
The opposite failure happens in the south. Above roughly 86°F the pollen turns sterile, so Texas, Arizona and Florida lose the middle of summer entirely and gardeners there run two seasons, one in spring and one in autumn, rather than a single long one. A frost table cannot show you either problem, which is why the state pages carry the heat figures alongside these dates.
Where these figures come from
The freeze dates are NOAA NCEI 1991-2020 climate normals, taken at the 32°F threshold in the 30-70% probability band. The range therefore covers the dates between which a freeze is more likely than not to have already happened, which is a more honest statement than any single day. The hardiness zones are the USDA Plant Hardiness Zone Map released in 2023, built on the same thirty-year period. Canadian stations come from Environment and Climate Change Canada, whose normals cover 1981-2010 and are therefore not strictly comparable with the American figures.
For anything you are about to spend real money on, your county extension office holds observations far closer to your garden than any state-level table can. Every state page linked from the table above points you to its own extension service. Start with the state index if you want to browse, or go straight to a worked example in Ohio, Indiana or Michigan, where we run the whole calculation end to end.