Home › Canada › British Columbia › Rankings › Mildest winters Tofino, #1 on this list · Photo: Buiobuione (CC BY-SA 4.0) British Columbia · 2026 Towns with the mildest winters in British Columbia 100 places in British Columbia reach the top 100 for all of Canada. Nowhere in British Columbia does better on this list than Tofino, at 6°C (43°F). Oak Bay is second (6°C (42°F)) and Saanich third (6°C (42°F)). The middle of the list is Langley, with 4°C (38°F). The list ends with Fort Nelson, at -20°C (-5°F). Tofino is #1 of 2,589 on the list for all of Canada.
Average January temperature, 1991–2020 normals at the nearest station How grades work
#1 British Columbia · 2,772 people 6°C (43°F) January average Overall C− · #2,293 of 2,556
Strongest: jobs & income A , walkability A · lowest: cost of living D−
#2 British Columbia · 18,626 people 6°C (42°F) January average Overall A+ · #45 of 2,556
Strongest: health A+ , safety A+ · lowest: cost of living D−
#3 British Columbia · 126,011 people 6°C (42°F) January average Overall A · #253 of 2,556
Strongest: health A+ , walkability A+ · lowest: cost of living D−
All 254, ranked in British Columbia Best first in British Columbia; beside each place, its rank on the same list for all of Canada.
Every British Columbia list # Town January average Canada rank What drives it
1 Tofino 2,772 people 6°C (43°F) #1 of 2,589 Strongest: jobs & income A , walkability A · lowest: cost of living D− 2 Oak Bay 18,626 people 6°C (42°F) #2 of 2,589 Strongest: health A+ , safety A+ · lowest: cost of living D− 3 Saanich 126,011 people 6°C (42°F) #3 of 2,589 Strongest: health A+ , walkability A+ · lowest: cost of living D− 4 Esquimalt 19,512 people 6°C (42°F) #4 of 2,589 Strongest: walkability A+ , health A+ · lowest: cost of living D− 5 View Royal 12,795 people 6°C (42°F) #5 of 2,589 Strongest: health A+ , jobs & income A · lowest: cost of living D− 6 Colwood 22,794 people 6°C (42°F) #6 of 2,589 Strongest: health A+ , jobs & income A · lowest: cost of living D− 8 Langford 59,664 people 6°C (42°F) #8 of 2,589 Strongest: health A+ , jobs & income A · lowest: cost of living D− 9 Victoria 103,888 people 6°C (42°F) #9 of 2,589 Strongest: walkability A+ , health A+ · lowest: cost of living D− 11 Sooke 17,248 people 6°C (42°F) #11 of 2,589 Strongest: health A− , walkability B+ · lowest: cost of living D− 16 Fairview 33,969 people 5°C (42°F) #16 of 2,589 Strongest: walkability A+ , health A+ · lowest: cost of living D− 17 Heights 22,141 people 5°C (42°F) #17 of 2,589 Strongest: walkability A+ , schools A+ · lowest: cost of living D− 18 Kitsilano 27,320 people 5°C (42°F) #18 of 2,589 Strongest: walkability A+ , health A+ · lowest: cost of living D− 19 Brentwood 22,170 people 5°C (42°F) #19 of 2,589 Strongest: walkability A+ , health A · lowest: cost of living D− 20 Greektown 16,618 people 5°C (42°F) #20 of 2,589 Strongest: walkability A+ , health A+ · lowest: cost of living D− 22 Broadview 8,008 people 5°C (42°F) #22 of 2,589 Strongest: walkability A+ , health A · lowest: cost of living D− 24 Holdom 7,976 people 5°C (42°F) #24 of 2,589 Strongest: walkability A+ , schools A · lowest: cost of living D− 25 Deer Lake 8,417 people 5°C (42°F) #25 of 2,589 Strongest: walkability A , health A · lowest: cost of living D− 29 Lochdale 7,463 people 5°C (42°F) #29 of 2,589 Strongest: walkability A+ , schools A+ · lowest: cost of living D− 31 Montecito 10,734 people 5°C (42°F) #31 of 2,589 Strongest: walkability A+ , health A · lowest: cost of living D− 37 Yaletown 40,297 people 5°C (42°F) #37 of 2,589 Strongest: walkability A+ , health A+ · lowest: cost of living D− 39 Royal Oak 18,364 people 5°C (42°F) #39 of 2,589 Strongest: walkability A+ , health A · lowest: cost of living D− 41 Sechelt 11,558 people 5°C (42°F) #41 of 2,589 Strongest: health A+ , jobs & income A− · lowest: cost of living D− 42 Gibsons 5,090 people 5°C (42°F) #42 of 2,589 Strongest: walkability A+ , health A+ · lowest: cost of living D− 48 Metrotown 36,594 people 5°C (42°F) #48 of 2,589 Strongest: walkability A+ , health A · lowest: cost of living D− 49 West End 30,785 people 5°C (42°F) #49 of 2,589 Strongest: walkability A+ , health A+ · lowest: cost of living D− 54 Edmonds 34,805 people 5°C (42°F) #54 of 2,589 Strongest: walkability A+ , health A · lowest: cost of living D− 56 Killarney 32,167 people 5°C (42°F) #56 of 2,589 Strongest: walkability A+ , health A+ · lowest: cost of living D− 63 Sidney 13,445 people 5°C (40°F) #63 of 2,589 Strongest: walkability A+ , health A · lowest: cost of living D− 67 Highlands 2,753 people 5°C (40°F) #67 of 2,589 Strongest: health A , jobs & income A · lowest: cost of living D 68 Ladysmith 9,926 people 5°C (40°F) #68 of 2,589 Strongest: walkability A− , health B · lowest: cost of living D 74 Duncan 5,745 people 5°C (40°F) #74 of 2,589 Strongest: walkability A+ , health B · lowest: cost of living D− 78 Delta 124,670 people 4°C (39°F) #78 of 2,589 Strongest: walkability A+ , health A · lowest: cost of living D− 80 Kerrisdale 14,105 people 4°C (39°F) #80 of 2,589 Strongest: walkability A+ , schools A+ · lowest: cost of living D− 81 Lantzville 4,276 people 4°C (39°F) #81 of 2,589 Strongest: jobs & income A , schools A− · lowest: cost of living D− 83 Oakridge 14,071 people 4°C (39°F) #83 of 2,589 Strongest: walkability A+ , health A+ · lowest: cost of living D− 84 Sunset 37,186 people 4°C (39°F) #84 of 2,589 Strongest: walkability A+ , health A+ · lowest: cost of living D− 85 Marpole 28,182 people 4°C (39°F) #85 of 2,589 Strongest: walkability A+ , health A+ · lowest: cost of living D− 87 Richmond 239,584 people 4°C (39°F) #87 of 2,589 Strongest: walkability A+ , health A · lowest: cost of living D− 90 Nanaimo 111,845 people 4°C (39°F) #90 of 2,589 Strongest: walkability A , jobs & income B · lowest: cost of living D− 95 Comox 15,884 people 4°C (39°F) #95 of 2,589 Strongest: schools A , walkability A · lowest: cost of living D− 99 Cumberland 4,974 people 4°C (39°F) #99 of 2,589 Strongest: jobs & income A , walkability A− · lowest: cost of living D 102 Courtenay 32,869 people 4°C (39°F) #102 of 2,589 Strongest: walkability A , schools A− · lowest: cost of living D− 104 Fairwinds 7,125 people 4°C (39°F) #104 of 2,589 Strongest: safety A− , schools B · lowest: cost of living D− 105 Parksville 15,371 people 4°C (39°F) #105 of 2,589 Strongest: walkability A , schools A · lowest: cost of living D− 108 Powell River 14,947 people 4°C (39°F) #108 of 2,589 Strongest: health A+ , walkability A− · lowest: cost of living D 110 Port Alberni 19,671 people 4°C (39°F) #110 of 2,589 Strongest: walkability A , health B− · lowest: safety D 111 Cultus Lake 2,773 people 4°C (39°F) #111 of 2,589 Strongest: schools A+ , health B− · lowest: cost of living D− 112 Abbotsford 175,358 people 4°C (39°F) #112 of 2,589 Strongest: walkability A− , jobs & income B · lowest: cost of living D 113 Mission 47,280 people 4°C (39°F) #113 of 2,589 Strongest: walkability B+ , health B · lowest: cost of living D 114 Anmore 2,508 people 4°C (38°F) #114 of 2,589 Strongest: health A , safety A · lowest: cost of living C− 115 Port Moody 38,285 people 4°C (38°F) #115 of 2,589 Strongest: walkability A , health A · lowest: cost of living D− 116 Pitt Meadows 20,892 people 4°C (38°F) #116 of 2,589 Strongest: health A , walkability A · lowest: cost of living D− 117 Port Coquitlam 67,724 people 4°C (38°F) #117 of 2,589 Strongest: walkability A , health A · lowest: cost of living D− 118 Sunnyside 16,784 people 4°C (38°F) #118 of 2,589 Strongest: schools A , health A · lowest: cost of living D− 119 White Rock 25,057 people 4°C (38°F) #119 of 2,589 Strongest: walkability A+ , health A · lowest: cost of living D− 120 Clayton Heights 8,961 people 4°C (38°F) #120 of 2,589 Strongest: health A , walkability A · lowest: cost of living D− 121 Aloha Estates 13,194 people 4°C (38°F) #121 of 2,589 Strongest: health A , walkability A · lowest: cost of living D 122 Coquitlam 173,599 people 4°C (38°F) #122 of 2,589 Strongest: walkability A+ , health A · lowest: cost of living D− 123 South Surrey 6,431 people 4°C (38°F) #123 of 2,589 Strongest: schools A , health A · lowest: cost of living D− 124 Crescent Heights 9,033 people 4°C (38°F) #124 of 2,589 Strongest: schools A+ , health A · lowest: cost of living D 125 Ocean Park 10,845 people 4°C (38°F) #125 of 2,589 Strongest: schools A , health A · lowest: cost of living D− 126 Semiahmoo Town Centre 13,381 people 4°C (38°F) #126 of 2,589 Strongest: walkability A+ , health A · lowest: cost of living D− 127 Douglas 4,555 people 4°C (38°F) #127 of 2,589 Strongest: health A , jobs & income A · lowest: cost of living D− 128 Langley 163,885 people 4°C (38°F) #128 of 2,589 Strongest: health A , walkability A− · lowest: cost of living D− 129 New Westminster 92,124 people 4°C (38°F) #129 of 2,589 Strongest: walkability A+ , health A · lowest: cost of living D− 130 Fraser Heights 17,688 people 4°C (38°F) #130 of 2,589 Strongest: health A , walkability A− · lowest: cost of living D− 131 Anniedale 6,715 people 4°C (38°F) #131 of 2,589 Strongest: health A , schools A− · lowest: cost of living D− 132 Lougheed 15,442 people 4°C (38°F) #132 of 2,589 Strongest: walkability A+ , health A · lowest: cost of living D− 133 Surrey Centre 16,482 people 4°C (38°F) #133 of 2,589 Strongest: health A , walkability B+ · lowest: cost of living D 134 Maple Ridge 105,925 people 4°C (38°F) #134 of 2,589 Strongest: health A , walkability A− · lowest: cost of living D− 135 Morgan Creek 8,084 people 4°C (38°F) #135 of 2,589 Strongest: health A , hazard risk B · lowest: cost of living D 136 Provinceton 11,625 people 4°C (38°F) #136 of 2,589 Strongest: health A , walkability B+ · lowest: cost of living D 137 Sullivan 42,135 people 4°C (38°F) #137 of 2,589 Strongest: walkability A , health A · lowest: cost of living D− 138 Colebrook 3,617 people 4°C (38°F) #138 of 2,589 Strongest: health A , jobs & income A− · lowest: cost of living D 139 Port Mann 5,988 people 4°C (38°F) #139 of 2,589 Strongest: health A , walkability A− · lowest: cost of living D− 140 Rosewood Park 9,004 people 4°C (38°F) #140 of 2,589 Strongest: health A , jobs & income A− · lowest: cost of living D− 141 Grandview 16,947 people 4°C (38°F) #141 of 2,589 Strongest: health A , walkability B+ · lowest: cost of living D− 142 Bridgeview 3,511 people 4°C (38°F) #142 of 2,589 Strongest: health A , walkability A− · lowest: cost of living D− 143 Anderson Walk 4,210 people 4°C (38°F) #143 of 2,589 Strongest: health A , walkability B · lowest: cost of living D− 144 Cloverdale 13,615 people 4°C (38°F) #144 of 2,589 Strongest: health A , walkability A− · lowest: cost of living D− 145 Fleetwood 63,957 people 4°C (38°F) #145 of 2,589 Strongest: walkability A , health A · lowest: cost of living D− 146 Langley 35,444 people 4°C (38°F) #146 of 2,589 Strongest: walkability A , health A · lowest: cost of living D− 147 Sunrise Estates 4,292 people 4°C (38°F) #147 of 2,589 Strongest: health A , walkability B · lowest: cost of living D− 148 Panorama Ridge 36,473 people 4°C (38°F) #148 of 2,589 Strongest: walkability A , health A · lowest: cost of living D− 149 Johnston Heights 30,971 people 4°C (38°F) #149 of 2,589 Strongest: walkability A+ , health A · lowest: cost of living D− 150 Brownsville 23,515 people 4°C (38°F) #150 of 2,589 Strongest: walkability A+ , health A · lowest: cost of living D− 151 Birdland 10,745 people 4°C (38°F) #151 of 2,589 Strongest: walkability A+ , health A · lowest: cost of living D− 152 Newton 51,222 people 4°C (38°F) #152 of 2,589 Strongest: walkability A+ , health A · lowest: cost of living D− 153 Guildford 14,663 people 4°C (38°F) #153 of 2,589 Strongest: walkability A+ , health A · lowest: cost of living D− 154 Strawberry Hill 37,037 people 4°C (38°F) #154 of 2,589 Strongest: walkability A+ , health A · lowest: cost of living D− 155 Whalley 52,642 people 4°C (38°F) #155 of 2,589 Strongest: walkability A+ , health A · lowest: cost of living D− 156 Kent 7,093 people 4°C (38°F) #156 of 2,589 Strongest: walkability A− , schools A− · lowest: cost of living D 157 Chilliwack 105,520 people 4°C (38°F) #157 of 2,589 Strongest: walkability B+ , schools B · lowest: cost of living D 158 Hope 7,183 people 4°C (38°F) #158 of 2,589 Strongest: walkability A− , hazard risk B+ · lowest: schools D− 159 Campbell River 38,300 people 3°C (37°F) #159 of 2,589 Strongest: health A− , walkability A− · lowest: cost of living D− 162 Squamish 28,578 people 2°C (35°F) #162 of 2,589 Strongest: health A+ , schools A+ · lowest: cost of living D− 165 Nelson 12,126 people -1°C (31°F) #165 of 2,589 Strongest: walkability A+ , schools A · lowest: cost of living D− 168 Summerland 12,343 people -1°C (31°F) #168 of 2,589 Strongest: schools A− , walkability A− · lowest: hazard risk D− 169 Okanagan Falls 4,002 people -1°C (31°F) #169 of 2,589 Strongest: schools A− , jobs & income B · lowest: hazard risk D− 170 Penticton 39,068 people -1°C (31°F) #170 of 2,589 Strongest: walkability A+ , schools A− · lowest: cost of living D− 171 Oliver 5,262 people -1°C (30°F) #171 of 2,589 Strongest: walkability A , schools A− · lowest: hazard risk D− 172 Osoyoos 5,724 people -1°C (30°F) #172 of 2,589 Strongest: walkability A , schools B · lowest: hazard risk D− 175 Merritt 7,190 people -1°C (30°F) #175 of 2,589 Strongest: walkability A , hazard risk B · lowest: schools D− 177 Creston 5,976 people -1°C (29°F) #177 of 2,589 Strongest: walkability A+ , health B+ · lowest: cost of living D 179 Rossland 4,355 people -2°C (29°F) #179 of 2,589 Strongest: walkability A+ , jobs & income A · lowest: cost of living C− 181 Grand Forks 4,308 people -2°C (29°F) #181 of 2,589 Strongest: walkability A+ , health A · lowest: cost of living D 183 Trail 8,539 people -2°C (29°F) #183 of 2,589 Strongest: health A , walkability A− · lowest: safety C− 184 Castlegar 9,465 people -2°C (29°F) #184 of 2,589 Strongest: walkability A− , health B · lowest: safety C− 185 Whistler 15,090 people -3°C (27°F) #186 of 2,589 Strongest: schools A+ , health A · lowest: cost of living D− 186 Pemberton 3,620 people -3°C (27°F) #187 of 2,589 Strongest: walkability A+ , jobs & income A · lowest: cost of living D− 187 Lake Country 17,637 people -3°C (27°F) #190 of 2,589 Strongest: jobs & income A− , schools B+ · lowest: hazard risk D− 188 Peachland 6,302 people -3°C (27°F) #191 of 2,589 Strongest: safety A− , walkability B · lowest: cost of living D− 189 Enderby 3,292 people -3°C (27°F) #192 of 2,589 Strongest: walkability A , health B · lowest: cost of living D 190 Salmon Arm 20,891 people -3°C (27°F) #193 of 2,589 Strongest: hazard risk A , jobs & income A− · lowest: cost of living D 191 West Kelowna 40,274 people -3°C (27°F) #194 of 2,589 Strongest: jobs & income A , health B · lowest: hazard risk D− 192 Kelowna 167,654 people -3°C (27°F) #195 of 2,589 Strongest: walkability A , jobs & income A · lowest: cost of living D− 193 Central Okanagan 4,784 people -3°C (27°F) #196 of 2,589 Strongest: jobs & income A− , schools B+ · lowest: cost of living D− 195 Blind Bay 9,984 people -3°C (27°F) #200 of 2,589 Strongest: safety A− , walkability C+ · lowest: hazard risk D− 197 Sicamous 2,854 people -3°C (27°F) #203 of 2,589 Strongest: hazard risk A , walkability A− · lowest: safety D 198 Chase 2,591 people -3°C (27°F) #204 of 2,589 Strongest: walkability A+ , safety C · lowest: hazard risk D− 200 Kamloops 108,793 people -3°C (27°F) #208 of 2,589 Strongest: walkability A , hazard risk A− · lowest: cost of living D 203 Revelstoke 9,464 people -3°C (26°F) #284 of 2,589 Strongest: jobs & income A+ , walkability A · lowest: cost of living D 206 Terrace 13,648 people -3°C (26°F) #291 of 2,589 Strongest: jobs & income A+ , walkability A− · lowest: safety D 207 Kitimat 10,019 people -3°C (26°F) #292 of 2,589 Strongest: jobs & income A , walkability B+ · lowest: health C− 208 Coldstream 11,380 people -4°C (26°F) #310 of 2,589 Strongest: jobs & income A , schools A · lowest: hazard risk D− 211 Spallumcheen 5,843 people -4°C (26°F) #356 of 2,589 Strongest: jobs & income B+ , safety B+ · lowest: cost of living D 212 Armstrong 5,643 people -4°C (26°F) #362 of 2,589 Strongest: jobs & income A− , walkability B+ · lowest: cost of living D 214 Vernon 49,527 people -4°C (26°F) #378 of 2,589 Strongest: walkability A− , schools A− · lowest: hazard risk D− 215 Central Okanagan West 3,298 people -4°C (26°F) #389 of 2,589 Strongest: schools A , health B− · lowest: hazard risk D− 216 Princeton 3,050 people -5°C (22°F) #765 of 2,589 Strongest: walkability A , health B+ · lowest: cost of living D 217 Kimberley 9,037 people -6°C (21°F) #870 of 2,589 Strongest: schools A , walkability A− · lowest: cost of living C− 219 Cranbrook 22,703 people -6°C (21°F) #877 of 2,589 Strongest: jobs & income A− , walkability A− · lowest: safety D 220 Fernie 7,086 people -6°C (20°F) #928 of 2,589 Strongest: walkability A+ , jobs & income A · lowest: hazard risk C 221 Elkford 3,030 people -6°C (20°F) #930 of 2,589 Strongest: cost of living A− , safety B+ · lowest: schools C 222 Sparwood 4,486 people -6°C (20°F) #931 of 2,589 Strongest: jobs & income A , cost of living A− · lowest: hazard risk C 225 Electoral Area A, Cariboo 6,172 people -7°C (20°F) #952 of 2,589 Strongest: hazard risk B+ , jobs & income B− · lowest: schools D 227 Quesnel 10,253 people -7°C (20°F) #954 of 2,589 Strongest: walkability B+ , hazard risk B+ · lowest: safety D 229 Electoral Area E, Cariboo 4,242 people -7°C (20°F) #969 of 2,589 Strongest: jobs & income A− , safety B+ · lowest: hazard risk D− 231 Williams Lake 11,462 people -7°C (20°F) #974 of 2,589 Strongest: walkability A− , jobs & income B+ · lowest: hazard risk D− 232 Clearwater 2,500 people -7°C (19°F) #980 of 2,589 Strongest: hazard risk A , walkability B+ · lowest: schools D 234 Smithers 5,627 people -7°C (19°F) #1,009 of 2,589 Strongest: jobs & income A+ , walkability A+ · lowest: safety D 235 Golden 4,433 people -8°C (19°F) #1,023 of 2,589 Strongest: walkability A+ , jobs & income A · lowest: hazard risk C− 237 Vanderhoof 4,545 people -8°C (18°F) #1,209 of 2,589 Strongest: jobs & income A , cost of living B+ · lowest: safety D 241 Prince George 85,944 people -8°C (18°F) #1,214 of 2,589 Strongest: jobs & income A− , walkability B+ · lowest: safety D 243 Invermere 4,305 people -9°C (17°F) #1,260 of 2,589 Strongest: jobs & income A+ , walkability A+ · lowest: cost of living D 245 Houston 3,114 people -10°C (15°F) #1,573 of 2,589 Strongest: hazard risk A , cost of living A− · lowest: health D− 246 Mackenzie 3,442 people -10°C (14°F) #1,593 of 2,589 Strongest: jobs & income A , walkability A− · lowest: schools D 247 Fort St. John 24,383 people -13°C (9°F) #2,180 of 2,589 Strongest: jobs & income A+ , walkability A− · lowest: safety D 251 Dawson Creek 13,635 people -14°C (8°F) #2,212 of 2,589 Strongest: walkability A− , jobs & income A− · lowest: safety D 253 Tumbler Ridge 2,663 people -14°C (8°F) #2,214 of 2,589 Strongest: cost of living A , walkability A · lowest: schools D− 254 Fort Nelson 4,144 people -20°C (-5°F) #2,579 of 2,589 Strongest: cost of living A+ , jobs & income A · lowest: safety D Rankings
More lists for British Columbia Province by province
Mildest winters elsewhere Photos: Tofino, Buiobuione (CC BY-SA 4.0 ) · Oak Bay, rpaterso (CC BY-SA 2.0 ) · Saanich, Keefer4~commonswiki (CC BY-SA 2.5 ), via Wikimedia Commons.
Sources: TownRatings grades: our own summary of the data, ranking Canadian towns against each other only, run #73 of 10 November 2026. Under the Statistics Canada Open Licence.
Adapted from Statistics Canada (Census of Population 2021, population estimates 2025, 2021 census boundaries) under the Statistics Canada Open Licence; this does not constitute an endorsement by Statistics Canada. Neighbourhood names in some cities © OpenStreetMap contributors (ODbL).