Guest, Sign inJoin
Bowen Island from waterBowen Island, #1 on this list · Photo: Hameltion (CC BY-SA 4.0)
British Columbia · 2026

Towns with the best schools in British Columbia

Schools is graded within British Columbia alone: there is no Canada-wide order. Leading British Columbia on this list is Bowen Island, at A+. The places after the leader belong to Whistler (A+) and Cobble Hill (A+). 82 of the 253 on this list grade in the A range. At the other end is Tumbler Ridge, with D−.

Schools grade: provincial test results of the schools in the place or within 3 km, scored within Ontario, British Columbia or Alberta How grades work

#1

Bowen Island

British Columbia · 4,501 people
A+Schools

Overall A·#103 of 2,556

Strongest: schools A+, safety A+·lowest: cost of living D−

#2

Whistler

British Columbia · 15,090 people
A+Schools

Overall B+·#619 of 2,556

Strongest: schools A+, health A·lowest: cost of living D−

#3

Cobble Hill

British Columbia · 5,074 people
A+Schools

Overall B·#1,070 of 2,556

Strongest: schools A+, jobs & income B+·lowest: cost of living D−

All 253, ranked in British Columbia

Schools is graded against places in British Columbia alone, so it has no national order; beside each place sit its overall grade and national rank.

Every British Columbia list

253 places

#TownSchoolsGrade · national rankWhat drives it
1Bowen Island4,501 peopleA+A#103 of 2,556 nationallyStrongest: schools A+, safety A+·lowest: cost of living D−
2Whistler15,090 peopleA+B+#619 of 2,556 nationallyStrongest: schools A+, health A·lowest: cost of living D−
3Cobble Hill5,074 peopleA+B#1,070 of 2,556 nationallyStrongest: schools A+, jobs & income B+·lowest: cost of living D−
4Shawnigan9,903 peopleA+B#1,135 of 2,556 nationallyStrongest: schools A+, safety B+·lowest: cost of living D
5West Point Grey13,429 peopleA+B#981 of 2,556 nationallyStrongest: walkability A+, schools A+·lowest: cost of living D−
6Kerrisdale14,105 peopleA+B#1,146 of 2,556 nationallyStrongest: walkability A+, schools A+·lowest: cost of living D−
7Crescent Heights9,033 peopleA+B−#1,361 of 2,556 nationallyStrongest: schools A+, health A·lowest: cost of living D
8Squamish28,578 peopleA+A−#395 of 2,556 nationallyStrongest: health A+, schools A+·lowest: cost of living D−
9Electoral Area E, Central Kootenay4,309 peopleA+B+#702 of 2,556 nationallyStrongest: schools A+, safety A·lowest: cost of living D
10Heights22,141 peopleA+B+#813 of 2,556 nationallyStrongest: walkability A+, schools A+·lowest: cost of living D−
11Lochdale7,463 peopleA+B#1,096 of 2,556 nationallyStrongest: walkability A+, schools A+·lowest: cost of living D−
12Cultus Lake2,773 peopleA+C#1,927 of 2,556 nationallyStrongest: schools A+, health B−·lowest: cost of living D−
13Electoral Area F, Central Kootenay4,209 peopleA+A−#509 of 2,556 nationallyStrongest: schools A+, safety A·lowest: cost of living D
14Nelson12,126 peopleAB#933 of 2,556 nationallyStrongest: walkability A+, schools A·lowest: cost of living D−
15Oak Bay18,626 peopleAA+#45 of 2,556 nationallyStrongest: health A+, safety A+·lowest: cost of living D−
16Ocean Park10,845 peopleAB−#1,407 of 2,556 nationallyStrongest: schools A, health A·lowest: cost of living D−
17Tsawwassen2,629 peopleAStrongest: schools A, health A·lowest: jobs & income B−
18Comox15,884 peopleAA#228 of 2,556 nationallyStrongest: schools A, walkability A·lowest: cost of living D−
19Sunnyside16,784 peopleAB#1,092 of 2,556 nationallyStrongest: schools A, health A·lowest: cost of living D−
20South Surrey6,431 peopleAB−#1,270 of 2,556 nationallyStrongest: schools A, health A·lowest: cost of living D−
21White Rock25,057 peopleAB−#1,170 of 2,556 nationallyStrongest: walkability A+, health A·lowest: cost of living D−
22Electoral Area A, Cowichan Valley5,156 peopleAB−#1,218 of 2,556 nationallyStrongest: schools A, safety B+·lowest: cost of living D
23Central Okanagan West3,298 peopleAD#2,483 of 2,556 nationallyStrongest: schools A, health B−·lowest: hazard risk D−
24North Vancouver97,845 peopleAA#98 of 2,556 nationallyStrongest: health A+, walkability A·lowest: cost of living D−
25Holdom7,976 peopleAB#998 of 2,556 nationallyStrongest: walkability A+, schools A·lowest: cost of living D−
26Semiahmoo Town Centre13,381 peopleAB−#1,409 of 2,556 nationallyStrongest: walkability A+, health A·lowest: cost of living D−
27Coldstream11,380 peopleAA−#424 of 2,556 nationallyStrongest: jobs & income A, schools A·lowest: hazard risk D−
28Dunbar-Southlands21,117 peopleAB#1,016 of 2,556 nationallyStrongest: walkability A+, health A+·lowest: cost of living D
29Hastings-Sunrise36,072 peopleAB−#1,303 of 2,556 nationallyStrongest: walkability A+, health A+·lowest: cost of living D−
30Kimberley9,037 peopleAB+#609 of 2,556 nationallyStrongest: schools A, walkability A−·lowest: cost of living C−
31Kitsilano27,320 peopleAB+#835 of 2,556 nationallyStrongest: walkability A+, health A+·lowest: cost of living D−
32Brentwood22,170 peopleAB+#844 of 2,556 nationallyStrongest: walkability A+, health A·lowest: cost of living D−
33Electoral Area H, Central Kootenay5,390 peopleAB−#1,226 of 2,556 nationallyStrongest: safety A, schools A·lowest: jobs & income D−
34Arbutus Ridge15,083 peopleAB−#1,401 of 2,556 nationallyStrongest: walkability A+, health A+·lowest: cost of living D−
35Rossland4,355 peopleAA−#370 of 2,556 nationallyStrongest: walkability A+, jobs & income A·lowest: cost of living C−
36Golden4,433 peopleAA−#483 of 2,556 nationallyStrongest: walkability A+, jobs & income A·lowest: hazard risk C−
37Greektown16,618 peopleAB+#847 of 2,556 nationallyStrongest: walkability A+, health A+·lowest: cost of living D−
38North Vancouver66,624 peopleAB+#760 of 2,556 nationallyStrongest: health A+, walkability A+·lowest: cost of living D−
39Electoral Area H, Nanaimo4,815 peopleAC#1,833 of 2,556 nationallyStrongest: schools A, safety B+·lowest: jobs & income D
40Broadview8,008 peopleAB#961 of 2,556 nationallyStrongest: walkability A+, health A·lowest: cost of living D−
41Collingwood18,399 peopleAB−#1,362 of 2,556 nationallyStrongest: walkability A+, health A+·lowest: cost of living D−
42West Vancouver47,929 peopleAB+#667 of 2,556 nationallyStrongest: health A+, walkability A·lowest: cost of living D−
43Fernie7,086 peopleAA−#381 of 2,556 nationallyStrongest: walkability A+, jobs & income A·lowest: hazard risk C
44Deer Lake8,417 peopleAB#1,025 of 2,556 nationallyStrongest: walkability A, health A·lowest: cost of living D−
45Qualicum Beach9,640 peopleAB#1,097 of 2,556 nationallyStrongest: schools A, walkability A−·lowest: cost of living D−
46Parksville15,371 peopleAC#1,795 of 2,556 nationallyStrongest: walkability A, schools A·lowest: cost of living D−
47Electoral Area G, Nanaimo8,412 peopleA−B#1,103 of 2,556 nationallyStrongest: schools A−, safety A−·lowest: cost of living D
48Electoral Area F, Nanaimo8,810 peopleA−C+#1,569 of 2,556 nationallyStrongest: schools A−, safety A−·lowest: cost of living D
49Montecito10,734 peopleA−B#1,143 of 2,556 nationallyStrongest: walkability A+, health A·lowest: cost of living D−
50Courtenay32,869 peopleA−C+#1,546 of 2,556 nationallyStrongest: walkability A, schools A−·lowest: cost of living D−
51Anmore2,508 peopleA−A−#403 of 2,556 nationallyStrongest: health A, safety A·lowest: cost of living C−
52Fairview33,969 peopleA−B+#804 of 2,556 nationallyStrongest: walkability A+, health A+·lowest: cost of living D−
53Lantzville4,276 peopleA−B−#1,207 of 2,556 nationallyStrongest: jobs & income A, schools A−·lowest: cost of living D−
54South Slope8,989 peopleA−B#1,138 of 2,556 nationallyStrongest: walkability A, health A·lowest: cost of living D−
55Garden Village6,492 peopleA−B#1,163 of 2,556 nationallyStrongest: walkability A+, health A·lowest: cost of living D−
56Royal Oak18,364 peopleA−B−#1,234 of 2,556 nationallyStrongest: walkability A+, health A·lowest: cost of living D−
57Renfrew-Collingwood23,392 peopleA−B−#1,434 of 2,556 nationallyStrongest: health A+, walkability A+·lowest: cost of living D−
58Metrotown36,594 peopleA−B−#1,437 of 2,556 nationallyStrongest: walkability A+, health A·lowest: cost of living D−
59Anniedale6,715 peopleA−C+#1,599 of 2,556 nationallyStrongest: health A, schools A−·lowest: cost of living D−
60Smithers5,627 peopleA−B−#1,419 of 2,556 nationallyStrongest: jobs & income A+, walkability A+·lowest: safety D
61Electoral Area A, Columbia-Shuswap3,672 peopleA−B−#1,385 of 2,556 nationallyStrongest: schools A−, jobs & income B+·lowest: cost of living C−
62Summerland12,343 peopleA−B#1,027 of 2,556 nationallyStrongest: schools A−, walkability A−·lowest: hazard risk D−
63Central Saanich18,184 peopleA−A#151 of 2,556 nationallyStrongest: jobs & income A+, health A+·lowest: cost of living D−
64Electoral Area D (Rural Grand Forks), Kootenay Boundary3,570 peopleA−B#953 of 2,556 nationallyStrongest: schools A−, health A−·lowest: cost of living C−
65Grand Forks4,308 peopleA−B#994 of 2,556 nationallyStrongest: walkability A+, health A·lowest: cost of living D
66Electoral Area B, North Okanagan3,415 peopleA−B−#1,392 of 2,556 nationallyStrongest: schools A−, jobs & income A−·lowest: hazard risk D−
67Electoral Area A, Bulkley-Nechako5,829 peopleA−B−#1,260 of 2,556 nationallyStrongest: jobs & income A+, hazard risk A·lowest: health D
68Grandview-Woodland28,119 peopleA−B−#1,376 of 2,556 nationallyStrongest: walkability A+, health A+·lowest: cost of living D−
69Revelstoke9,464 peopleA−B#1,002 of 2,556 nationallyStrongest: jobs & income A+, walkability A·lowest: cost of living D
70Kent7,093 peopleA−C#1,815 of 2,556 nationallyStrongest: walkability A−, schools A−·lowest: cost of living D
71Roberts Creek3,779 peopleA−B#936 of 2,556 nationallyStrongest: health A+, jobs & income A·lowest: cost of living D−
72Okanagan Falls4,002 peopleA−C#1,800 of 2,556 nationallyStrongest: schools A−, jobs & income B·lowest: hazard risk D−
73Granville Entertainment District19,125 peopleA−B−#1,505 of 2,556 nationallyStrongest: walkability A+, health A+·lowest: cost of living D−
74Electoral Area C, North Okanagan5,029 peopleA−B#897 of 2,556 nationallyStrongest: jobs & income A, schools A−·lowest: cost of living C−
75Penticton39,068 peopleA−C#1,919 of 2,556 nationallyStrongest: walkability A+, schools A−·lowest: cost of living D−
76Southern Gulf Islands6,691 peopleA−A−#360 of 2,556 nationallyStrongest: safety A, health A·lowest: cost of living D
77Vernon49,527 peopleA−C#1,966 of 2,556 nationallyStrongest: walkability A−, schools A−·lowest: hazard risk D−
78Oliver5,262 peopleA−C+#1,693 of 2,556 nationallyStrongest: walkability A, schools A−·lowest: hazard risk D−
79Electoral Area C, Okanagan-Similkameen4,103 peopleA−C−#2,250 of 2,556 nationallyStrongest: schools A−, health B·lowest: hazard risk D−
80Yaletown40,297 peopleA−B−#1,202 of 2,556 nationallyStrongest: walkability A+, health A+·lowest: cost of living D−
81West End30,785 peopleA−B−#1,492 of 2,556 nationallyStrongest: walkability A+, health A+·lowest: cost of living D−
82Port Coquitlam67,724 peopleA−B#925 of 2,556 nationallyStrongest: walkability A, health A·lowest: cost of living D−
83Juan de Fuca (Part 1)5,439 peopleB+C+#1,724 of 2,556 nationallyStrongest: health A−, schools B+·lowest: cost of living D−
84Saltspring Island12,429 peopleB+A#230 of 2,556 nationallyStrongest: jobs & income A+, health A+·lowest: cost of living D
85Fraser Heights17,688 peopleB+C+#1,577 of 2,556 nationallyStrongest: health A, walkability A−·lowest: cost of living D−
86Sechelt11,558 peopleB+B−#1,315 of 2,556 nationallyStrongest: health A+, jobs & income A−·lowest: cost of living D−
87Shaughnessy8,034 peopleB+B#1,107 of 2,556 nationallyStrongest: walkability A+, health A+·lowest: cost of living D
88Oakridge14,071 peopleB+C+#1,545 of 2,556 nationallyStrongest: walkability A+, health A+·lowest: cost of living D−
89Richmond239,584 peopleB+C#1,877 of 2,556 nationallyStrongest: walkability A+, health A·lowest: cost of living D−
90Lake City3,240 peopleB+B#1,080 of 2,556 nationallyStrongest: health A, walkability A·lowest: cost of living D
91Clayton Heights8,961 peopleB+B−#1,176 of 2,556 nationallyStrongest: health A, walkability A·lowest: cost of living D−
92East Burnaby17,233 peopleB+B−#1,194 of 2,556 nationallyStrongest: walkability A+, health A·lowest: cost of living D−
93Electoral Area D, North Okanagan3,184 peopleB+C+#1,686 of 2,556 nationallyStrongest: schools B+, safety B+·lowest: walkability C−
94South Cambie9,846 peopleB+B#1,168 of 2,556 nationallyStrongest: walkability A+, health A+·lowest: cost of living D−
95Buckingham Heights8,794 peopleB+B−#1,182 of 2,556 nationallyStrongest: walkability A, health A·lowest: cost of living D−
96Davie Village16,833 peopleB+C+#1,532 of 2,556 nationallyStrongest: walkability A+, health A+·lowest: cost of living D−
97Welcome Beach3,130 peopleB+C+#1,567 of 2,556 nationallyStrongest: health A+, schools B+·lowest: cost of living D−
98Aloha Estates13,194 peopleB+B−#1,235 of 2,556 nationallyStrongest: health A, walkability A·lowest: cost of living D
99Port Moody38,285 peopleB+A−#491 of 2,556 nationallyStrongest: walkability A, health A·lowest: cost of living D−
100Saanich126,011 peopleB+A#253 of 2,556 nationallyStrongest: health A+, walkability A+·lowest: cost of living D−
101Victoria103,888 peopleB+B−#1,507 of 2,556 nationallyStrongest: walkability A+, health A+·lowest: cost of living D−
102Marpole28,182 peopleB+C#1,828 of 2,556 nationallyStrongest: walkability A+, health A+·lowest: cost of living D−
103Lake Country17,637 peopleB+C+#1,755 of 2,556 nationallyStrongest: jobs & income A−, schools B+·lowest: hazard risk D−
104New Westminster92,124 peopleB+C+#1,530 of 2,556 nationallyStrongest: walkability A+, health A·lowest: cost of living D−
105Electoral Area B, Central Kootenay5,243 peopleB+B#1,082 of 2,556 nationallyStrongest: safety A, schools B+·lowest: cost of living C−
106Pitt Meadows20,892 peopleB+B#886 of 2,556 nationallyStrongest: health A, walkability A·lowest: cost of living D−
107Strathcona13,783 peopleB+C#1,896 of 2,556 nationallyStrongest: walkability A+, health A+·lowest: cost of living D−
108Electoral Area D (Oyster Bay - Buttle Lake), Strathcona4,546 peopleB+D#2,337 of 2,556 nationallyStrongest: health B+, schools B+·lowest: safety D
109Mount Pleasant37,091 peopleB+B#1,090 of 2,556 nationallyStrongest: walkability A+, health A+·lowest: cost of living D−
110Kensington-Cedar Cottage39,668 peopleB+C+#1,524 of 2,556 nationallyStrongest: walkability A+, health A+·lowest: cost of living D−
111Central Okanagan4,784 peopleB+C−#2,255 of 2,556 nationallyStrongest: jobs & income A−, schools B+·lowest: cost of living D−
112Riley Park23,682 peopleB+B#1,068 of 2,556 nationallyStrongest: walkability A+, health A+·lowest: cost of living D−
113Coquitlam173,599 peopleB+B−#1,240 of 2,556 nationallyStrongest: walkability A+, health A·lowest: cost of living D−
114Chilliwack105,520 peopleBC−#2,198 of 2,556 nationallyStrongest: walkability B+, schools B·lowest: cost of living D
115Little Saigon11,086 peopleBB−#1,216 of 2,556 nationallyStrongest: walkability A+, health A+·lowest: cost of living D−
116Electoral Area E, Peace River2,737 peopleBC+#1,721 of 2,556 nationallyStrongest: cost of living A−, jobs & income B+·lowest: safety D
117Electoral Area B, Peace River5,814 peopleBC#2,003 of 2,556 nationallyStrongest: hazard risk B+, schools B·lowest: health D
118Osoyoos5,724 peopleBC−#2,227 of 2,556 nationallyStrongest: walkability A, schools B·lowest: hazard risk D−
119Fairwinds7,125 peopleBC#1,767 of 2,556 nationallyStrongest: safety A−, schools B·lowest: cost of living D−
120Sidney13,445 peopleBB+#764 of 2,556 nationallyStrongest: walkability A+, health A·lowest: cost of living D−
121Electoral Area C, Strathcona2,981 peopleBD#2,401 of 2,556 nationallyStrongest: health B+, hazard risk B·lowest: safety D
122Bainbridge3,015 peopleBB−#1,192 of 2,556 nationallyStrongest: walkability A, health A·lowest: cost of living D−
123Sunset37,186 peopleBC+#1,670 of 2,556 nationallyStrongest: walkability A+, health A+·lowest: cost of living D−
124Electoral Area A, Comox Valley8,415 peopleBB−#1,398 of 2,556 nationallyStrongest: safety B+, health B+·lowest: cost of living D−
125Edmonds34,805 peopleBC+#1,659 of 2,556 nationallyStrongest: walkability A+, health A·lowest: cost of living D−
126Bridgeview3,511 peopleBC−#2,050 of 2,556 nationallyStrongest: health A, walkability A−·lowest: cost of living D−
127Metchosin5,207 peopleBB#1,060 of 2,556 nationallyStrongest: health A, safety A−·lowest: cost of living D−
128North Saanich12,986 peopleBA−#349 of 2,556 nationallyStrongest: jobs & income A+, health A·lowest: cost of living D
129Electoral Area B (Lazo North), Comox Valley7,830 peopleBB#1,037 of 2,556 nationallyStrongest: health A−, jobs & income B+·lowest: cost of living D
130Delta124,670 peopleBB#1,041 of 2,556 nationallyStrongest: walkability A+, health A·lowest: cost of living D−
131Electoral Area I, Central Kootenay2,758 peopleBC+#1,558 of 2,556 nationallyStrongest: safety A−, health B·lowest: walkability D
132Douglas4,555 peopleBB−#1,445 of 2,556 nationallyStrongest: health A, jobs & income A·lowest: cost of living D−
133Lougheed15,442 peopleBC+#1,632 of 2,556 nationallyStrongest: walkability A+, health A·lowest: cost of living D−
134Killarney32,167 peopleBC+#1,734 of 2,556 nationallyStrongest: walkability A+, health A+·lowest: cost of living D−
135Norquay Village11,287 peopleBC#1,845 of 2,556 nationallyStrongest: walkability A+, health A+·lowest: cost of living D−
136Port Mann5,988 peopleBC#1,952 of 2,556 nationallyStrongest: health A, walkability A−·lowest: cost of living D−
137Victoria-Fraserview31,095 peopleBC#1,840 of 2,556 nationallyStrongest: walkability A+, health A+·lowest: cost of living D−
138Invermere4,305 peopleBB#1,007 of 2,556 nationallyStrongest: jobs & income A+, walkability A+·lowest: cost of living D
139Fort Nelson4,144 peopleBB#973 of 2,556 nationallyStrongest: cost of living A+, jobs & income A·lowest: safety D
140Electoral Area C, Fraser-Fort George3,811 peopleB−C+#1,758 of 2,556 nationallyStrongest: jobs & income B+, hazard risk B·lowest: walkability D−
141Peachland6,302 peopleB−C#1,867 of 2,556 nationallyStrongest: safety A−, walkability B·lowest: cost of living D−
142Kamloops108,793 peopleB−C#2,020 of 2,556 nationallyStrongest: walkability A, hazard risk A−·lowest: cost of living D
143Langley163,885 peopleB−C+#1,519 of 2,556 nationallyStrongest: health A, walkability A−·lowest: cost of living D−
144Sparwood4,486 peopleB−B+#704 of 2,556 nationallyStrongest: jobs & income A, cost of living A−·lowest: hazard risk C
145Burnaby Mountain9,248 peopleB−C+#1,747 of 2,556 nationallyStrongest: walkability A+, health A·lowest: cost of living D−
146Electoral Area F, Sunshine Coast2,691 peopleB−C+#1,675 of 2,556 nationallyStrongest: health A+, walkability B+·lowest: cost of living D−
147Morgan Creek8,084 peopleB−C#1,839 of 2,556 nationallyStrongest: health A, hazard risk B·lowest: cost of living D
148Coal Harbour10,407 peopleB−B−#1,426 of 2,556 nationallyStrongest: walkability A+, health A+·lowest: cost of living D−
149Gibsons5,090 peopleB−B−#1,345 of 2,556 nationallyStrongest: walkability A+, health A+·lowest: cost of living D−
150Electoral Area E, Sunshine Coast4,279 peopleB−B−#1,393 of 2,556 nationallyStrongest: health A+, jobs & income A−·lowest: cost of living D−
151Electoral Area F, East Kootenay3,893 peopleB−B−#1,338 of 2,556 nationallyStrongest: jobs & income A, walkability B·lowest: hazard risk C−
152Enderby3,292 peopleB−C−#2,066 of 2,556 nationallyStrongest: walkability A, health B·lowest: cost of living D
153Electoral Area D, Peace River5,100 peopleB−C#2,016 of 2,556 nationallyStrongest: jobs & income B+, hazard risk B+·lowest: walkability D
154Esquimalt19,512 peopleB−B+#614 of 2,556 nationallyStrongest: walkability A+, health A+·lowest: cost of living D−
155Creston5,976 peopleB−C#1,985 of 2,556 nationallyStrongest: walkability A+, health B+·lowest: cost of living D
156Electoral Area E, Alberni-Clayoquot3,069 peopleB−B−#1,458 of 2,556 nationallyStrongest: jobs & income B+, safety B+·lowest: cost of living C−
157Maple Ridge105,925 peopleB−C#1,836 of 2,556 nationallyStrongest: health A, walkability A−·lowest: cost of living D−
158Dawson Creek13,635 peopleB−C#1,932 of 2,556 nationallyStrongest: walkability A−, jobs & income A−·lowest: safety D
159Electoral Area P (Rivers and the Peaks), Thompson-Nicola4,540 peopleB−D−#2,538 of 2,556 nationallyStrongest: schools B−, jobs & income C+·lowest: hazard risk D−
160Electoral Area A, Sunshine Coast3,256 peopleC+C−#2,184 of 2,556 nationallyStrongest: health A, walkability B·lowest: cost of living D−
161Electoral Area C, East Kootenay7,006 peopleC+C+#1,540 of 2,556 nationallyStrongest: jobs & income A−, health B·lowest: walkability D
162Cranbrook22,703 peopleC+C#1,872 of 2,556 nationallyStrongest: jobs & income A−, walkability A−·lowest: safety D
163Abbotsford175,358 peopleC+C−#2,162 of 2,556 nationallyStrongest: walkability A−, jobs & income B·lowest: cost of living D
164Spallumcheen5,843 peopleC+C+#1,541 of 2,556 nationallyStrongest: jobs & income B+, safety B+·lowest: cost of living D
165Sullivan42,135 peopleC+C#1,876 of 2,556 nationallyStrongest: walkability A, health A·lowest: cost of living D−
166View Royal12,795 peopleC+B+#806 of 2,556 nationallyStrongest: health A+, jobs & income A·lowest: cost of living D−
167Langley35,444 peopleC+C−#2,127 of 2,556 nationallyStrongest: walkability A, health A·lowest: cost of living D−
168Provinceton11,625 peopleC+C#1,843 of 2,556 nationallyStrongest: health A, walkability B+·lowest: cost of living D
169Grandview16,947 peopleC+C−#2,041 of 2,556 nationallyStrongest: health A, walkability B+·lowest: cost of living D−
170Armstrong5,643 peopleC+C+#1,594 of 2,556 nationallyStrongest: jobs & income A−, walkability B+·lowest: cost of living D
171Cowichan Bay3,713 peopleC+D#2,359 of 2,556 nationallyStrongest: jobs & income A−, walkability B−·lowest: cost of living D
172Anderson Walk4,210 peopleC+C−#2,056 of 2,556 nationallyStrongest: health A, walkability B·lowest: cost of living D−
173Kelowna167,654 peopleC+C−#2,183 of 2,556 nationallyStrongest: walkability A, jobs & income A·lowest: cost of living D−
174Electoral Area L (Grasslands), Thompson-Nicola3,543 peopleC+D−#2,516 of 2,556 nationallyStrongest: walkability C+, jobs & income C+·lowest: hazard risk D−
175Electoral Area C, Nanaimo3,733 peopleC+C−#2,245 of 2,556 nationallyStrongest: jobs & income B, safety B−·lowest: cost of living D
176Electoral Area E, Cowichan Valley4,482 peopleC+D#2,430 of 2,556 nationallyStrongest: jobs & income B+, health B−·lowest: cost of living D
177West Kelowna40,274 peopleC+C−#2,092 of 2,556 nationallyStrongest: jobs & income A, health B·lowest: hazard risk D−
178Trail8,539 peopleC+C−#2,042 of 2,556 nationallyStrongest: health A, walkability A−·lowest: safety C−
179Surrey Centre16,482 peopleC+C#1,825 of 2,556 nationallyStrongest: health A, walkability B+·lowest: cost of living D
180Vanderhoof4,545 peopleCC+#1,651 of 2,556 nationallyStrongest: jobs & income A, cost of living B+·lowest: safety D
181Electoral Area F, Bulkley-Nechako3,643 peopleCD−#2,531 of 2,556 nationallyStrongest: hazard risk B, cost of living C+·lowest: health D
182Nanaimo111,845 peopleCD#2,373 of 2,556 nationallyStrongest: walkability A, jobs & income B·lowest: cost of living D−
183Powell River14,947 peopleCC#1,951 of 2,556 nationallyStrongest: health A+, walkability A−·lowest: cost of living D
184Sicamous2,854 peopleCD−#2,533 of 2,556 nationallyStrongest: hazard risk A, walkability A−·lowest: safety D
185Electoral Area A, Fraser-Fort George3,764 peopleCC−#2,303 of 2,556 nationallyStrongest: hazard risk B, cost of living B−·lowest: health D
186Electoral Area F, Columbia-Shuswap3,475 peopleCD−#2,551 of 2,556 nationallyStrongest: walkability C+, safety C·lowest: hazard risk D−
187Electoral Area J, Central Kootenay3,915 peopleCC+#1,646 of 2,556 nationallyStrongest: safety A−, health B·lowest: cost of living C−
188Castlegar9,465 peopleCC−#2,131 of 2,556 nationallyStrongest: walkability A−, health B·lowest: safety C−
189Salmon Arm20,891 peopleCC−#2,083 of 2,556 nationallyStrongest: hazard risk A, jobs & income A−·lowest: cost of living D
190Princeton3,050 peopleCD#2,404 of 2,556 nationallyStrongest: walkability A, health B+·lowest: cost of living D
191Sooke17,248 peopleCC−#2,281 of 2,556 nationallyStrongest: health A−, walkability B+·lowest: cost of living D−
192North Cowichan34,525 peopleCD#2,393 of 2,556 nationallyStrongest: walkability B+, jobs & income B·lowest: cost of living D−
193Campbell River38,300 peopleCD#2,328 of 2,556 nationallyStrongest: health A−, walkability A−·lowest: cost of living D−
194Electoral Area G, Cowichan Valley2,597 peopleCD#2,479 of 2,556 nationallyStrongest: walkability B−, health B−·lowest: cost of living D−
195Colebrook3,617 peopleCC#1,944 of 2,556 nationallyStrongest: health A, jobs & income A−·lowest: cost of living D
196Elkford3,030 peopleCB+#698 of 2,556 nationallyStrongest: cost of living A−, safety B+·lowest: schools C
197Cloverdale13,615 peopleCC−#2,079 of 2,556 nationallyStrongest: health A, walkability A−·lowest: cost of living D−
198Fleetwood63,957 peopleCC−#2,120 of 2,556 nationallyStrongest: walkability A, health A·lowest: cost of living D−
199Langford59,664 peopleCB−#1,318 of 2,556 nationallyStrongest: health A+, jobs & income A·lowest: cost of living D−
200Panorama Ridge36,473 peopleCC−#2,160 of 2,556 nationallyStrongest: walkability A, health A·lowest: cost of living D−
201Electoral Area F, Cariboo5,016 peopleCD#2,471 of 2,556 nationallyStrongest: hazard risk A−, safety B+·lowest: walkability D
202Electoral Area C (Part 1), Kitimat-Stikine3,189 peopleCC#1,770 of 2,556 nationallyStrongest: jobs & income A, hazard risk A−·lowest: health D−
203Terrace13,648 peopleCC−#2,078 of 2,556 nationallyStrongest: jobs & income A+, walkability A−·lowest: safety D
204Sunrise Estates4,292 peopleCC−#2,159 of 2,556 nationallyStrongest: health A, walkability B·lowest: cost of living D−
205Johnston Heights30,971 peopleCC−#2,213 of 2,556 nationallyStrongest: walkability A+, health A·lowest: cost of living D−
206Electoral Area C (Puntledge - Black Creek), Comox Valley9,803 peopleCC#1,886 of 2,556 nationallyStrongest: safety B+, health B+·lowest: cost of living D
207Colwood22,794 peopleC−B#997 of 2,556 nationallyStrongest: health A+, jobs & income A·lowest: cost of living D−
208Kitimat10,019 peopleC−C−#2,139 of 2,556 nationallyStrongest: jobs & income A, walkability B+·lowest: health C−
209Prince George85,944 peopleC−D#2,437 of 2,556 nationallyStrongest: jobs & income A−, walkability B+·lowest: safety D
210Cumberland4,974 peopleC−B−#1,304 of 2,556 nationallyStrongest: jobs & income A, walkability A−·lowest: cost of living D
211Lake Cowichan3,757 peopleC−D−#2,532 of 2,556 nationallyStrongest: walkability A, hazard risk B−·lowest: jobs & income D
212Blind Bay9,984 peopleC−D#2,458 of 2,556 nationallyStrongest: safety A−, walkability C+·lowest: hazard risk D−
213Guildford14,663 peopleC−D#2,335 of 2,556 nationallyStrongest: walkability A+, health A·lowest: cost of living D−
214Duncan5,745 peopleC−D−#2,539 of 2,556 nationallyStrongest: walkability A+, health B·lowest: cost of living D−
215Mission47,280 peopleC−D#2,487 of 2,556 nationallyStrongest: walkability B+, health B·lowest: cost of living D
216Electoral Area E, Kitimat-Stikine4,153 peopleC−C#1,805 of 2,556 nationallyStrongest: hazard risk A−, jobs & income A−·lowest: health D
217Rosewood Park9,004 peopleC−C#1,973 of 2,556 nationallyStrongest: health A, jobs & income A−·lowest: cost of living D−
218Port Alberni19,671 peopleC−D−#2,522 of 2,556 nationallyStrongest: walkability A, health B−·lowest: safety D
219Port Hardy4,201 peopleC−C−#2,103 of 2,556 nationallyStrongest: walkability A−, health A−·lowest: safety D
220Highlands2,753 peopleC−C−#2,035 of 2,556 nationallyStrongest: health A, jobs & income A·lowest: cost of living D
221Prince Rupert12,903 peopleC−C#2,001 of 2,556 nationallyStrongest: jobs & income A+, walkability A·lowest: safety D
222Electoral Area D, Columbia-Shuswap4,829 peopleC−D#2,490 of 2,556 nationallyStrongest: safety A−, walkability C+·lowest: hazard risk D−
223Electoral Area L, Cariboo5,358 peopleC−Strongest: health C, schools C−·lowest: hazard risk D−
224Chase2,591 peopleC−D−#2,549 of 2,556 nationallyStrongest: walkability A+, safety C·lowest: hazard risk D−
225Whalley52,642 peopleC−D#2,366 of 2,556 nationallyStrongest: walkability A+, health A·lowest: cost of living D−
226Electoral Area E (West Boundary), Kootenay Boundary3,361 peopleC−D#2,491 of 2,556 nationallyStrongest: health B, walkability B·lowest: jobs & income D
227Electoral Area C, Peace River6,344 peopleDC#1,917 of 2,556 nationallyStrongest: jobs & income A, hazard risk B+·lowest: walkability D
228Brownsville23,515 peopleDC−#2,305 of 2,556 nationallyStrongest: walkability A+, health A·lowest: cost of living D−
229Houston3,114 peopleDC#1,922 of 2,556 nationallyStrongest: hazard risk A, cost of living A−·lowest: health D−
230Newton51,222 peopleDD#2,334 of 2,556 nationallyStrongest: walkability A+, health A·lowest: cost of living D−
231Fort St. John24,383 peopleDC+#1,673 of 2,556 nationallyStrongest: jobs & income A+, walkability A−·lowest: safety D
232Ladysmith9,926 peopleDD#2,345 of 2,556 nationallyStrongest: walkability A−, health B·lowest: cost of living D
233Electoral Area F, North Okanagan4,969 peopleDD#2,457 of 2,556 nationallyStrongest: health B−, safety B−·lowest: cost of living D
234Mile 108 Recreational Ranch5,887 peopleDStrongest: health C, jobs & income C−·lowest: hazard risk D−
235Birdland10,745 peopleDD#2,320 of 2,556 nationallyStrongest: walkability A+, health A·lowest: cost of living D−
236Strawberry Hill37,037 peopleDD#2,336 of 2,556 nationallyStrongest: walkability A+, health A·lowest: cost of living D−
237Tofino2,772 peopleDC−#2,293 of 2,556 nationallyStrongest: jobs & income A, walkability A·lowest: cost of living D−
238Pemberton3,620 peopleDB#1,005 of 2,556 nationallyStrongest: walkability A+, jobs & income A·lowest: cost of living D−
239Electoral Area H, Cowichan Valley2,761 peopleDD#2,454 of 2,556 nationallyStrongest: jobs & income B, health B−·lowest: schools D
240Electoral Area A, Cariboo6,172 peopleDD#2,365 of 2,556 nationallyStrongest: hazard risk B+, jobs & income B−·lowest: schools D
241Electoral Area D, Cariboo3,057 peopleDC−#2,109 of 2,556 nationallyStrongest: jobs & income A, safety B+·lowest: hazard risk D−
242Quesnel10,253 peopleDD−#2,544 of 2,556 nationallyStrongest: walkability B+, hazard risk B+·lowest: safety D
243Clearwater2,500 peopleDD#2,422 of 2,556 nationallyStrongest: hazard risk A, walkability B+·lowest: schools D
244Electoral Area E, Cariboo4,242 peopleDC−#2,178 of 2,556 nationallyStrongest: jobs & income A−, safety B+·lowest: hazard risk D−
245Williams Lake11,462 peopleDD−#2,510 of 2,556 nationallyStrongest: walkability A−, jobs & income B+·lowest: hazard risk D−
246Electoral Area B, Cariboo4,169 peopleDD−#2,528 of 2,556 nationallyStrongest: hazard risk B+, safety B−·lowest: schools D
247Electoral Area A, Nanaimo7,825 peopleDD−#2,518 of 2,556 nationallyStrongest: jobs & income B, hazard risk B−·lowest: cost of living D−
248Mackenzie3,442 peopleDC#2,009 of 2,556 nationallyStrongest: jobs & income A, walkability A−·lowest: schools D
249Electoral Area D, Fraser-Fort George4,802 peopleDC−#2,280 of 2,556 nationallyStrongest: jobs & income A−, hazard risk B·lowest: schools D
250Electoral Area B, Nanaimo4,702 peopleD−D−#2,503 of 2,556 nationallyStrongest: walkability B, safety B−·lowest: cost of living D−
251Merritt7,190 peopleD−D−#2,539 of 2,556 nationallyStrongest: walkability A, hazard risk B·lowest: schools D−
252Hope7,183 peopleD−D−#2,547 of 2,556 nationallyStrongest: walkability A−, hazard risk B+·lowest: schools D−
253Tumbler Ridge2,663 peopleD−C−#2,102 of 2,556 nationallyStrongest: cost of living A, walkability A·lowest: schools D−
Rankings

More lists for British Columbia

Province by province

Best schools elsewhere

Photos: Bowen Island, Hameltion (CC BY-SA 4.0) · Whistler, Ruth Hartnup from Vancouver, Canada (CC BY 2.0) · Cobble Hill, Alasdair McLellan (CC BY-SA 3.0), 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).