Last frost dates in Oregon
172 NOAA weather stations in Oregon have thirty years of frost records. The median station sees its last 32 °F night around Apr 22; across the state that ranges from Jan 31 to Jun 11, so pick the station nearest you rather than a state-wide figure.
| BROOKINGS | Jan 31 | Mar 21 | Dec 9 | Dec 27 | 349 |
| BROOKINGS 2 SE | Jan 31 | Mar 20 | Dec 14 | Dec 27 | 334 |
| NATURE PARK-BEAVERTON | Feb 11 | Mar 5 | Dec 26 | Dec 5 | 303 |
| MAPLETON | Feb 15 | Mar 19 | Dec 23 | Dec 9 | 306 |
| GOLD BEACH RS | Feb 16 | Mar 25 | Dec 16 | Dec 16 | 314 |
| PORT ORFORD #2 | Feb 17 | Mar 19 | Dec 28 | Dec 3 | 292 |
| NEWPORT 1 SE | Feb 19 | Mar 23 | Dec 28 | Dec 16 | 306 |
| YACHATS | Feb 19 | Mar 23 | Dec 18 | Dec 11 | 303 |
| NORTH BEND RGNL AP | Feb 21 | Mar 25 | Dec 31 | Dec 9 | 294 |
| PORTLAND KGW-TV | Feb 25 | Mar 21 | Jan 24 | Dec 1 | 280 |
| COUGAR DAM | Mar 2 | Mar 27 | Jan 24 | Nov 30 | 274 |
| LOOKOUT PT DAM | Mar 7 | Apr 2 | Feb 4 | Nov 27 | 263 |
| BANDON 2 NNE | Mar 9 | Apr 7 | Jan 31 | Nov 27 | 260 |
| DETROIT DAM | Mar 9 | Apr 8 | Feb 2 | Dec 3 | 270 |
| NEWPORT 3N | Mar 12 | Apr 16 | Jan 24 | Dec 10 | 271 |
| PORTLAND INTL AP | Mar 13 | Apr 1 | Feb 22 | Nov 19 | 247 |
| PORTLAND WFO | Mar 13 | Apr 5 | Feb 20 | Nov 22 | 251 |
| BONNEVILLE DAM | Mar 14 | Apr 4 | Feb 19 | Nov 27 | 257 |
| LEBANON | Mar 14 | Apr 14 | Feb 18 | Nov 18 | 248 |
| AURORA STATE AP | Mar 16 | Apr 7 | Feb 21 | Nov 14 | 242 |
| LANGLOIS #2 | Mar 16 | Apr 15 | Feb 6 | Nov 29 | 258 |
| MOLALLA 7NE | Mar 16 | Apr 12 | Feb 24 | Nov 19 | 247 |
| PORTLAND TROUTDALE AP | Mar 16 | Apr 12 | Feb 18 | Nov 20 | 250 |
| CLOVERDALE | Mar 17 | Apr 15 | Feb 9 | Nov 22 | 251 |
| N WILLAMETTE EXP STN | Mar 18 | Apr 10 | Feb 22 | Nov 13 | 243 |
| OREGON CITY | Mar 18 | Apr 11 | Feb 19 | Nov 18 | 244 |
| ROSEBURG RGNL AP | Mar 19 | Apr 13 | Feb 18 | Nov 20 | 245 |
| ELKTON 3 SW | Mar 21 | Apr 14 | Feb 17 | Nov 12 | 240 |
| NEWPORT | Mar 21 | Apr 12 | Feb 11 | Nov 27 | 252 |
| POWERS | Mar 21 | Apr 12 | Feb 16 | Nov 14 | 241 |
| REX 1 S | Mar 21 | Apr 19 | Feb 23 | Nov 22 | 241 |
| ROSEBURG KQEN | Mar 23 | Apr 16 | Feb 25 | Nov 18 | 237 |
| CASCADE LOCKS | Mar 24 | Apr 16 | Feb 28 | Nov 20 | 242 |
| MILTON FREEWATER | Mar 25 | Apr 16 | Mar 6 | Oct 29 | 218 |
| WINCHESTER BAY COAST GRD | Mar 25 | Apr 27 | Feb 15 | Nov 24 | 249 |
| ASTORIA RGNL AP | Mar 26 | Apr 18 | Feb 27 | Nov 11 | 232 |
| TROUTDALE | Mar 26 | Apr 21 | Feb 27 | Nov 17 | 237 |
| ESTACADA 2 SE | Mar 27 | Apr 23 | Mar 2 | Nov 14 | 230 |
| HEADWORKS PORTLAND WTR B | Mar 27 | Apr 20 | Feb 26 | Nov 18 | 239 |
| COQUILLE CITY | Mar 28 | Apr 27 | Feb 22 | Nov 6 | 225 |
| HONEYMAN SP | Mar 28 | Apr 21 | Feb 23 | Nov 22 | 237 |
| SILVERTON | Mar 28 | Apr 19 | Mar 1 | Nov 10 | 227 |
| STAYTON | Mar 29 | Apr 18 | Mar 5 | Nov 6 | 222 |
| FT CLATSOP NATL MEM | Mar 30 | Apr 28 | Feb 26 | Nov 18 | 233 |
| ILLAHE | Mar 30 | May 2 | Feb 20 | Nov 17 | 233 |
| MCNARY DAM #2 | Mar 30 | Apr 20 | Mar 12 | Nov 4 | 217 |
| RIDDLE | Mar 31 | Apr 27 | Feb 27 | Nov 6 | 221 |
| WINCHESTER | Mar 31 | Apr 26 | Mar 5 | Nov 5 | 215 |
| BEAVERTON 2 SSW | Apr 1 | Apr 26 | Mar 5 | Nov 6 | 222 |
| SEASIDE | Apr 2 | Apr 29 | Mar 4 | Nov 12 | 223 |
| LEABURG 1 SW | Apr 3 | May 2 | Mar 5 | Nov 11 | 220 |
| SALEM MCNARY FLD | Apr 3 | Apr 27 | Mar 10 | Nov 1 | 212 |
| OTIS 2 NE | Apr 4 | May 3 | Mar 2 | Nov 16 | 227 |
| MC MINNVILLE | Apr 5 | Apr 27 | Mar 5 | Nov 7 | 216 |
| THREE LYNX | Apr 5 | Apr 30 | Mar 13 | Nov 8 | 217 |
| TILLAMOOK 6SE | Apr 5 | May 4 | Mar 1 | Nov 4 | 219 |
| ARLINGTON | Apr 6 | Apr 28 | Mar 22 | Oct 21 | 196 |
| GRANTS PASS | Apr 8 | May 1 | Mar 15 | Oct 28 | 201 |
| MEDFORD ROGUE VLY AP | Apr 8 | Apr 30 | Mar 17 | Oct 29 | 204 |
| FLORENCE #2 | Apr 10 | May 5 | Mar 6 | Nov 15 | 220 |
| SCAPPOOSE IND AP | Apr 10 | May 1 | Mar 17 | Nov 2 | 209 |
| CORVALLIS 10 SSW | Apr 11 | May 5 | Mar 11 | Oct 30 | 203 |
| ELKTON 1SW | Apr 11 | May 10 | Mar 12 | Nov 6 | 209 |
| EUGENE MAHLON SWEET AP | Apr 11 | May 9 | Mar 15 | Oct 23 | 196 |
| COTTAGE GROVE DAM | Apr 12 | May 4 | Mar 18 | Nov 1 | 205 |
| FOSTER DAM | Apr 12 | May 5 | Mar 16 | Oct 28 | 197 |
| ALSEA FH (FALL CREEK) | Apr 13 | May 3 | Mar 17 | Nov 3 | 202 |
| BOARDMAN | Apr 14 | May 2 | Mar 28 | Oct 21 | 188 |
| PENDLETON WFO | Apr 14 | May 5 | Mar 24 | Oct 22 | 188 |
| THE DALLES | Apr 14 | May 1 | Mar 27 | Oct 23 | 191 |
| COOS BAY 8 SW | Apr 15 | May 3 | Mar 23 | Oct 31 | 199 |
| MCMINNVILLE MUNI AP | Apr 15 | May 6 | Mar 18 | Oct 26 | 195 |
| DALLAS 2 NE | Apr 16 | May 5 | Mar 21 | Nov 1 | 199 |
| DORENA | Apr 16 | May 11 | Mar 24 | Oct 28 | 194 |
| DRAIN | Apr 16 | May 8 | Mar 23 | Oct 25 | 193 |
| FOREST GROVE | Apr 16 | May 5 | Mar 26 | Oct 26 | 192 |
| PORTLAND-HILLSBORO AP | Apr 16 | May 3 | Mar 25 | Oct 23 | 191 |
| CORVALLIS STATE UNIV | Apr 17 | May 8 | Mar 22 | Oct 28 | 194 |
| FALLS CITY 2 SSW | Apr 18 | May 6 | Mar 27 | Nov 7 | 202 |
| FERN RIDGE-VENETA | Apr 18 | May 5 | Mar 25 | Oct 25 | 189 |
| NYSSA | Apr 18 | May 4 | Mar 30 | Oct 18 | 182 |
| SAINT HELENS RFD | Apr 18 | May 26 | Mar 20 | Nov 7 | 201 |
| HOOD RVR EXP STN | Apr 20 | May 9 | Mar 29 | Oct 13 | 177 |
| ONTARIO MUNI AP | Apr 21 | May 8 | Apr 4 | Oct 14 | 176 |
| ONTARIO KSRV | Apr 22 | May 7 | Apr 7 | Oct 9 | 168 |
| PENDLETON DWTN | Apr 22 | May 8 | Apr 3 | Oct 9 | 170 |
| TILLAMOOK | Apr 22 | May 13 | Mar 28 | Oct 21 | 183 |
| HUNTINGTON | Apr 23 | May 7 | Apr 8 | Oct 13 | 172 |
| MALHEUR BRANCH EXP STN | Apr 23 | May 9 | Apr 6 | Oct 13 | 173 |
| CLATSKANIE | Apr 24 | May 9 | Mar 31 | Oct 24 | 184 |
| COTTAGE GROVE 2E | Apr 24 | May 10 | Mar 31 | Oct 25 | 183 |
| OAKRIDGE FISH HATCHERY | Apr 24 | May 11 | Mar 31 | Oct 24 | 183 |
| HEPPNER | Apr 26 | May 11 | Apr 6 | Oct 19 | 174 |
| HERMISTON MUNI AP | Apr 26 | May 10 | Apr 9 | Oct 10 | 167 |
| LACOMB 3 NNE | Apr 26 | May 11 | Apr 4 | Oct 24 | 184 |
| PENDLETON | Apr 26 | May 10 | Apr 7 | Oct 16 | 174 |
| HERMISTON 2 NW | Apr 27 | May 11 | Apr 11 | Oct 7 | 163 |
| IDLEYLD PARK 4 NE | Apr 27 | May 15 | Apr 2 | Oct 19 | 176 |
| SCOTTS MILLS 9 SE | Apr 27 | May 17 | Apr 4 | Nov 4 | 190 |
| CASCADIA | Apr 29 | May 17 | Apr 5 | Oct 13 | 167 |
| LOST CREEK DAM | Apr 29 | May 19 | Apr 7 | Oct 17 | 171 |
| TOKETEE FALLS | Apr 29 | May 16 | Apr 9 | Oct 18 | 171 |
| JOHN DAY 35 WNW | Apr 30 | May 14 | Apr 14 | Oct 14 | 167 |
| SILVER CREEK FALLS | Apr 30 | May 15 | Apr 10 | Oct 22 | 174 |
| CAVE JUNCTION 1 WNW | May 1 | May 23 | Apr 14 | Oct 12 | 161 |
| MCKENZIE RVR RS | May 1 | May 19 | Apr 12 | Oct 10 | 159 |
| DAYVILLE 8 NW | May 4 | May 23 | Apr 18 | Oct 6 | 155 |
| RUCH | May 4 | May 23 | Apr 15 | Oct 13 | 160 |
| BELKNAP SPRINGS 8 N | May 5 | May 29 | Apr 20 | Oct 12 | 159 |
| PELTON DAM | May 5 | May 29 | Apr 21 | Oct 7 | 154 |
| ASHLAND | May 6 | May 27 | Apr 20 | Oct 8 | 154 |
| LA GRANDE | May 6 | May 26 | Apr 21 | Oct 1 | 146 |
| OWYHEE DAM | May 7 | May 27 | Apr 23 | Oct 5 | 150 |
| PILOT ROCK 1 SE | May 7 | May 28 | Apr 24 | Oct 4 | 147 |
| WESTFALL | May 7 | May 28 | Apr 23 | Oct 3 | 147 |
| VALE | May 8 | Jun 7 | Apr 23 | Sep 29 | 140 |
| VERNONIA #2 | May 8 | May 29 | Apr 18 | Oct 1 | 144 |
| MONUMENT 2 | May 9 | May 26 | Apr 25 | Sep 27 | 139 |
| CONDON | May 10 | May 27 | Apr 25 | Oct 7 | 148 |
| FIELDS | May 10 | Jun 3 | Apr 25 | Oct 7 | 145 |
| RICHLAND | May 10 | May 29 | Apr 27 | Oct 1 | 141 |
| UNION | May 11 | May 31 | Apr 26 | Sep 26 | 136 |
| DUFUR | May 12 | May 31 | Apr 25 | Oct 7 | 148 |
| MORO | May 12 | May 31 | Apr 27 | Oct 4 | 143 |
| PENDLETON BRANCH EXP STN | May 12 | Jun 2 | Apr 28 | Sep 27 | 135 |
| PARKDALE 1 NNE | May 13 | Jun 3 | Apr 26 | Oct 3 | 142 |
| CORVALLIS WATER BUREAU | May 15 | Jun 2 | Apr 28 | Oct 8 | 145 |
| HALFWAY | May 15 | Jun 2 | May 2 | Sep 24 | 130 |
| KENT | May 15 | Jun 6 | Apr 29 | Oct 11 | 147 |
| MARION FORKS FISH HATCHERY | May 15 | Jun 11 | Apr 29 | Sep 30 | 134 |
| SEXTON SUMMIT | May 16 | Jun 7 | Apr 23 | Oct 30 | 164 |
| MADRAS 2 N | May 19 | Jun 7 | May 2 | Oct 4 | 136 |
| PROSPECT 2 SW | May 19 | Jun 9 | Apr 29 | Oct 3 | 136 |
| LAUREL MTN | May 20 | Jun 8 | Apr 28 | Oct 23 | 157 |
| ANTELOPE 6 SSW | May 22 | Jun 10 | May 4 | Oct 3 | 131 |
| MITCHELL 2 E | May 22 | Jun 11 | May 1 | Oct 4 | 135 |
| SHEAVILLE 1 SE | May 22 | Jun 14 | May 3 | Sep 28 | 126 |
| ELGIN | May 24 | Jun 21 | May 1 | Sep 18 | 114 |
| JOSEPH | May 24 | Jul 6 | May 6 | Oct 1 | 126 |
| BAKER CITY MUNI AP | May 25 | Jun 16 | May 9 | Sep 15 | 111 |
| ROME ST AP | May 26 | Jun 13 | May 8 | Sep 21 | 117 |
| GOVERNMENT CAMP | May 27 | Jun 14 | May 4 | Oct 9 | 134 |
| JOHN DAY | May 28 | Jun 15 | May 12 | Sep 18 | 113 |
| MALHEUR REFUGE HQ | May 29 | Jun 17 | May 6 | Sep 18 | 113 |
| ROCKVILLE 5 N | May 29 | Jun 23 | May 9 | Sep 14 | 108 |
| GERBER DAM | May 31 | Jun 17 | May 7 | Sep 21 | 114 |
| LEMOLO LAKE 3 NNW | Jun 1 | Jun 21 | May 7 | Sep 23 | 115 |
| PRINEVILLE | Jun 1 | Jun 22 | May 8 | Sep 22 | 113 |
| BARNES STN | Jun 2 | Jun 25 | May 13 | Sep 17 | 104 |
| FOSSIL | Jun 3 | Jul 3 | May 13 | Sep 14 | 98 |
| LAKEVIEW 2 NNW | Jun 4 | Jun 22 | May 13 | Sep 17 | 102 |
| MC DERMITT 26 N | Jun 4 | Jun 20 | May 16 | Sep 26 | 113 |
| DREWSEY | Jun 5 | Jun 26 | May 17 | Sep 5 | 91 |
| KENO | Jun 5 | Jun 22 | May 16 | Sep 20 | 107 |
| LONG CREEK | Jun 5 | Jun 25 | May 16 | Sep 14 | 99 |
| BEND | Jun 6 | Jun 22 | May 17 | Sep 20 | 105 |
| PAISLEY | Jun 6 | Jun 28 | May 12 | Sep 14 | 98 |
| RIVERSIDE 7 SSW | Jun 7 | Jun 28 | May 21 | Sep 6 | 89 |
| WALLOWA | Jun 7 | Jul 7 | May 14 | Sep 9 | 91 |
| WICKIUP DAM | Jun 7 | Jul 2 | May 16 | Sep 18 | 100 |
| BLY 4 SE | Jun 8 | Jun 23 | May 18 | Sep 17 | 101 |
| ENTERPRISE 20 NNE | Jun 8 | Jul 8 | May 18 | Sep 5 | 84 |
| HOWARD PRAIRIE DAM | Jun 8 | Jun 25 | May 17 | Sep 24 | 108 |
| SUMMER LAKE 1 S | Jun 8 | Jun 25 | May 20 | Sep 15 | 96 |
| KLAMATH FALLS INTL AP | Jun 9 | Jun 26 | May 22 | Sep 18 | 99 |
| REDMOND ROBERTS FLD | Jun 9 | Jun 26 | May 17 | Sep 14 | 98 |
| ALKALI LAKE | Jun 10 | Jun 27 | May 21 | Sep 14 | 94 |
| BURNS MUNI AP | Jun 11 | Jun 28 | May 21 | Sep 6 | 85 |
| O O RCH | Jun 11 | Jul 1 | May 18 | Sep 6 | 88 |
| RILEY 10 WSW | Jun 11 | Jul 3 | May 24 | Sep 11 | 87 |
| ROME 2 NW | Jun 11 | Jul 3 | May 20 | Sep 10 | 88 |
| SQUAW BUTTE-NORTHERN GREAT BAS | Jun 11 | Jun 28 | May 18 | Sep 28 | 107 |
How to read the three dates
Average is the date by which, in half of the years between 1991 and 2020, the last 32 °F night had already happened. Safe is later: only one year in ten saw a frost after it, which is the date to set out frost-tender plants such as dahlia tubers and zinnia seedlings. Early is the risky end, with a frost after it in nine years out of ten.
Every figure is for the weather station, not for your garden. A valley bottom, a north slope or a spot near a lake can run a week or two either way. Cities are warmer than the countryside around them.
Where the numbers come from
The dates are NOAA's U.S. Climate Normals for 1991 to 2020, computed by the National Centers for Environmental Information for every station with thirty years of daily minimum temperatures. ZIP codes are matched to the nearest such station within 150 km using U.S. Census Bureau ZIP Code Tabulation Area centroids. Stations that never see a frost, such as much of south Florida, report no date and are left out.