Guest, Sign inJoin
Canada · 2026

Towns with the highest household incomes in Canada

Leading the list is Elbow Park, Alberta, at $200,000. The next two places belong to Bridle Path-Sunnybrook-York Mills, $200,000, and Aspen Woods, $199,000. The middle town on the list, South Walkerville, sits at $86,100. Last place on the list falls to West Broadway, at $36,500. Between them, 2 provinces and territories supply the top ten.

Median household income before tax, 2020 (2021 census) How grades work

#1

Elbow Park

Alberta · 4,120 people
$200,000 Household income

Overall A+·#81 of 2,556

Strongest: health A+, jobs & income A·lowest: safety B−

#3

Aspen Woods

Alberta · 9,606 people
$199,000 Household income

Overall A·#105 of 2,556

Strongest: schools A+, health A·lowest: jobs & income B−

The top 100 of 2,589

Ranked by its measure (Household income), best first; each town’s overall grade and national rank sit beside it.

The full ranking →

100 towns

#TownHousehold incomeGrade · national rankWhat drives it
1Elbow ParkAlberta · 4,120 people$200,000A+#81 of 2,556 nationallyStrongest: health A+, jobs & income A·lowest: safety B−
2Bridle Path-Sunnybrook-York MillsOntario · 9,909 people$200,000A#262 of 2,556 nationallyStrongest: schools A+, health A·lowest: safety C+
3Aspen WoodsAlberta · 9,606 people$199,000A#105 of 2,556 nationallyStrongest: schools A+, health A·lowest: jobs & income B−
4Kingsway SouthOntario · 8,935 people$196,500A#165 of 2,556 nationallyStrongest: walkability A+, schools A·lowest: cost of living C+
5Upper Mount RoyalAlberta · 2,758 people$188,200A+#35 of 2,556 nationallyStrongest: jobs & income A+, walkability A+·lowest: safety B−
6Fort McMurrayAlberta · 81,611 people$183,000C−#2,111 of 2,556 nationallyStrongest: cost of living A, jobs & income B−·lowest: hazard risk D−
7Lawrence Park SouthOntario · 15,018 people$180,900A#121 of 2,556 nationallyStrongest: walkability A+, schools A·lowest: cost of living C+
8Lawrence Park NorthOntario · 14,735 people$180,400A+#49 of 2,556 nationallyStrongest: walkability A+, schools A+·lowest: cost of living C+
9Castlemore EstatesOntario · 2,587 people$178,900A−#535 of 2,556 nationallyStrongest: hazard risk A, jobs & income A−·lowest: walkability D
10Princess-RosethornOntario · 11,177 people$174,800A−#319 of 2,556 nationallyStrongest: walkability A, health A−·lowest: cost of living C+
11White CitySaskatchewan · 4,379 people$170,600A−#305 of 2,556 nationallyStrongest: jobs & income A+, cost of living A−·lowest: walkability C
12Pioneer Tower WestOntario · 4,122 people$168,800A−#345 of 2,556 nationallyStrongest: health A, hazard risk A−·lowest: safety C+
13Cameron HeightsAlberta · 3,710 people$168,600A−#441 of 2,556 nationallyStrongest: hazard risk A+, schools A+·lowest: safety C−
14Bulyea HeightsAlberta · 3,264 people$168,500A−#302 of 2,556 nationallyStrongest: hazard risk A+, schools A+·lowest: safety C−
15DunrobinOntario · 5,724 people$168,100A+#59 of 2,556 nationallyStrongest: safety A+, schools A+·lowest: walkability D
16West SpringsAlberta · 11,632 people$168,100A#116 of 2,556 nationallyStrongest: schools A+, health A·lowest: safety B−
17Bridgeport NorthOntario · 2,858 people$165,200A−#335 of 2,556 nationallyStrongest: jobs & income A, health A·lowest: walkability D
18AnmoreBritish Columbia · 2,508 people$165,200A−#403 of 2,556 nationallyStrongest: health A, safety A·lowest: cost of living C−
19Laurier HeightsAlberta · 3,048 people$162,500A#264 of 2,556 nationallyStrongest: jobs & income A+, hazard risk A+·lowest: safety C−
20Rhatigan RidgeAlberta · 7,066 people$161,300A#223 of 2,556 nationallyStrongest: hazard risk A+, schools A+·lowest: safety C−
21Island Park-Wellington VillageOntario · 5,486 people$161,000A+#27 of 2,556 nationallyStrongest: walkability A+, jobs & income A+·lowest: hazard risk C+
22Magrath HeightsAlberta · 3,728 people$160,500A#255 of 2,556 nationallyStrongest: hazard risk A+, schools A+·lowest: safety C−
23New KleinburgOntario · 11,333 people$160,500A−#523 of 2,556 nationallyStrongest: schools A, hazard risk A·lowest: cost of living C
24Leaside-BenningtonOntario · 16,710 people$160,000A#170 of 2,556 nationallyStrongest: walkability A+, health A·lowest: cost of living C
25Valley RidgeAlberta · 7,782 people$159,300A−#399 of 2,556 nationallyStrongest: health A, schools A·lowest: walkability D
26Old Ottawa SouthOntario · 6,704 people$159,200A+#18 of 2,556 nationallyStrongest: walkability A+, health A+·lowest: hazard risk C+
27ManotickOntario · 8,770 people$158,800A+#48 of 2,556 nationallyStrongest: safety A+, schools A·lowest: hazard risk C+
28CorkeryOntario · 3,822 people$158,300A+#39 of 2,556 nationallyStrongest: safety A+, schools A+·lowest: walkability D
29Cougar RidgeAlberta · 7,101 people$158,000A#96 of 2,556 nationallyStrongest: health A, schools A·lowest: safety B−
30Springbank HillAlberta · 9,913 people$157,900A#202 of 2,556 nationallyStrongest: schools A+, health A·lowest: cost of living B−
31CarpOntario · 5,621 people$157,500A+#12 of 2,556 nationallyStrongest: safety A+, schools A+·lowest: hazard risk C+
32IqaluitNunavut · 8,612 people$157,300Strongest: hazard risk A+, walkability A+·lowest: safety D−
33GreelyOntario · 10,359 people$157,200A#154 of 2,556 nationallyStrongest: safety A+, health A−·lowest: walkability C−
34Strathcona ParkAlberta · 8,680 people$156,800A#144 of 2,556 nationallyStrongest: schools A+, health A+·lowest: safety B−
35ParkviewAlberta · 5,729 people$155,300A#245 of 2,556 nationallyStrongest: jobs & income A+, hazard risk A+·lowest: safety C−
36AltadoreAlberta · 7,675 people$155,100A+#71 of 2,556 nationallyStrongest: jobs & income A+, health A+·lowest: cost of living C+
37Upper Thornhill EstatesOntario · 10,435 people$154,100A−#327 of 2,556 nationallyStrongest: schools A+, hazard risk A·lowest: cost of living C
38Mount RoyalOntario · 6,421 people$153,400B#898 of 2,556 nationallyStrongest: hazard risk A, health A−·lowest: cost of living C
39MineolaOntario · 9,849 people$152,200A−#409 of 2,556 nationallyStrongest: walkability A, hazard risk A·lowest: cost of living C
40Thornhill WoodsOntario · 13,237 people$150,800A−#326 of 2,556 nationallyStrongest: schools A, hazard risk A·lowest: cost of living C
41HampsteadQuebec · 7,464 people$150,500A−#464 of 2,556 nationallyStrongest: walkability A, health A·lowest: hazard risk C
42Rocky View CountyAlberta · 50,260 people$150,400B−#1,466 of 2,556 nationallyStrongest: health A, hazard risk B+·lowest: safety D
43Carrville CornersOntario · 13,004 people$150,300A−#285 of 2,556 nationallyStrongest: schools A, hazard risk A·lowest: cost of living C
44WildfieldOntario · 8,511 people$149,700B#1,167 of 2,556 nationallyStrongest: hazard risk A, schools A−·lowest: cost of living C−
45TestonOntario · 7,437 people$149,600A−#388 of 2,556 nationallyStrongest: hazard risk A, health A·lowest: cost of living C
46Meadowvale VillageOntario · 30,139 people$149,300B+#598 of 2,556 nationallyStrongest: walkability A, hazard risk A·lowest: cost of living C
47StittsvilleOntario · 19,753 people$148,500A+#8 of 2,556 nationallyStrongest: safety A+, schools A+·lowest: hazard risk C+
48PurplevilleOntario · 19,918 people$148,300A−#415 of 2,556 nationallyStrongest: schools A, hazard risk A·lowest: cost of living C
49ColebrookBritish Columbia · 3,617 people$148,300C#1,944 of 2,556 nationallyStrongest: health A, jobs & income A−·lowest: cost of living D
50LisgarOntario · 31,627 people$148,200B+#653 of 2,556 nationallyStrongest: walkability A, hazard risk A·lowest: cost of living C
51YellowknifeNorthwest Territories · 22,858 people$148,200B−#1,243 of 2,556 nationallyStrongest: jobs & income A+, hazard risk A+·lowest: safety D−
52CarlisleOntario · 7,161 people$148,000B#974 of 2,556 nationallyStrongest: schools A−, hazard risk B+·lowest: walkability C−
53Hillcrest Management AreaSaskatchewan · 3,004 people$147,900B#1,011 of 2,556 nationallyStrongest: jobs & income A, hazard risk A·lowest: walkability D
54BarbertownOntario · 9,209 people$147,700A−#519 of 2,556 nationallyStrongest: walkability A, hazard risk A·lowest: cost of living C
55TuscanyAlberta · 19,986 people$147,200A#189 of 2,556 nationallyStrongest: health A, schools A·lowest: safety B−
56HaddowAlberta · 4,026 people$146,700A−#469 of 2,556 nationallyStrongest: schools A+, hazard risk A+·lowest: safety C−
57Baie-D'UrféQuebec · 3,706 people$146,600A−#542 of 2,556 nationallyStrongest: walkability A, health A−·lowest: safety C
58Bedford Park-NortownOntario · 22,376 people$146,400A−#322 of 2,556 nationallyStrongest: walkability A+, schools A·lowest: cost of living C−
59Labrador CityNewfoundland and Labrador · 7,965 people$146,300A+#44 of 2,556 nationallyStrongest: jobs & income A+, cost of living A+·lowest: hazard risk D−
60Elder MillsOntario · 16,790 people$146,300A−#386 of 2,556 nationallyStrongest: hazard risk A, schools A·lowest: cost of living C−
61SnelgroveOntario · 11,109 people$146,100B+#729 of 2,556 nationallyStrongest: hazard risk A, walkability A−·lowest: cost of living C
62ChelseaQuebec · 8,998 people$146,000A#108 of 2,556 nationallyStrongest: safety A+, jobs & income A·lowest: hazard risk C−
63Sulphur SpringsOntario · 9,404 people$146,000A−#426 of 2,556 nationallyStrongest: jobs & income A, schools A−·lowest: cost of living B−
64Vales of CastlemoreOntario · 14,894 people$146,000B+#817 of 2,556 nationallyStrongest: hazard risk A, health A−·lowest: cost of living C−
65Rivers Edge / Castlemore CrossingOntario · 6,577 people$145,900B+#722 of 2,556 nationallyStrongest: hazard risk A, schools A−·lowest: cost of living C−
66Credit ValleyOntario · 18,078 people$145,700B−#1,201 of 2,556 nationallyStrongest: hazard risk A, walkability A·lowest: cost of living C−
67Garrison WoodsAlberta · 3,138 people$145,600A+#52 of 2,556 nationallyStrongest: jobs & income A+, health A+·lowest: safety B−
68Runnymede-Bloor West VillageOntario · 10,129 people$145,600A−#292 of 2,556 nationallyStrongest: walkability A+, health A·lowest: cost of living C−
69Edenwold No. 158Saskatchewan · 4,932 people$145,600A−#446 of 2,556 nationallyStrongest: jobs & income A+, safety B+·lowest: walkability C
70Woodbridge MeadowsOntario · 3,651 people$145,300B+#643 of 2,556 nationallyStrongest: hazard risk A, health A−·lowest: cost of living C
71CachetOntario · 6,361 people$145,200A−#510 of 2,556 nationallyStrongest: schools A+, hazard risk A·lowest: cost of living C−
72Riverside Park South - RevelstokeOntario · 3,030 people$144,400B+#856 of 2,556 nationallyStrongest: health A, jobs & income A·lowest: safety C−
73Collectivité NouvelleQuebec · 3,587 people$144,100A#104 of 2,556 nationallyStrongest: health A, jobs & income A·lowest: hazard risk C−
74Trumpeter AreaAlberta · 5,220 people$144,000A−#499 of 2,556 nationallyStrongest: hazard risk A+, jobs & income A+·lowest: walkability D
75North River HeightsManitoba · 7,228 people$143,400A#277 of 2,556 nationallyStrongest: jobs & income A+, cost of living A·lowest: safety D
76Chapel Hill SouthOntario · 14,278 people$143,300A+#46 of 2,556 nationallyStrongest: schools A, safety A·lowest: hazard risk C+
77OakesOntario · 4,048 people$142,900B−#1,281 of 2,556 nationallyStrongest: hazard risk B+, schools B·lowest: jobs & income C+
78CumberlandOntario · 6,139 people$142,400A#157 of 2,556 nationallyStrongest: safety A+, schools A·lowest: walkability C−
79LeemingOntario · 2,849 people$142,300A−#414 of 2,556 nationallyStrongest: schools A, jobs & income A·lowest: cost of living B−
80East St. PaulManitoba · 10,321 people$142,200A−#481 of 2,556 nationallyStrongest: jobs & income A, hazard risk A−·lowest: walkability C−
81Riverside South - LeitrimOntario · 19,802 people$142,100A+#23 of 2,556 nationallyStrongest: safety A+, schools A·lowest: cost of living C+
82Discovery RidgeAlberta · 4,256 people$142,100A−#361 of 2,556 nationallyStrongest: schools A+, health A·lowest: cost of living C+
83Spring ValleyOntario · 4,175 people$141,700A−#459 of 2,556 nationallyStrongest: schools A, jobs & income A·lowest: walkability C+
84ChurchvilleOntario · 9,043 people$141,500B+#567 of 2,556 nationallyStrongest: hazard risk A, walkability A·lowest: cost of living C−
85KingOntario · 29,077 people$141,100B+#708 of 2,556 nationallyStrongest: hazard risk A, schools A−·lowest: cost of living C−
86Rankin InletNunavut · 3,336 people$141,100Strongest: walkability A+, hazard risk A+·lowest: safety D−
87Merivale Gardens - Grenfell Glen - Pineglen - Country PlaceOntario · 4,172 people$141,000B+#778 of 2,556 nationallyStrongest: jobs & income A+, health A·lowest: safety C
88HamptonsAlberta · 7,342 people$140,800A−#418 of 2,556 nationallyStrongest: health A+, schools A·lowest: cost of living C+
89BrooksideAlberta · 3,173 people$140,600A#227 of 2,556 nationallyStrongest: hazard risk A+, schools A+·lowest: safety C−
90HeadingleyManitoba · 5,368 people$140,600C+#1,516 of 2,556 nationallyStrongest: cost of living B, jobs & income B·lowest: walkability C−
91Scenic AcresAlberta · 8,026 people$140,300A#256 of 2,556 nationallyStrongest: health A, schools A·lowest: cost of living B−
92The Valleys of ThornhillOntario · 9,979 people$140,300A−#384 of 2,556 nationallyStrongest: schools A+, hazard risk A·lowest: cost of living C−
93River Valley OleskiwAlberta · 9,922 people$140,300A−#397 of 2,556 nationallyStrongest: hazard risk A+, schools A·lowest: safety C−
94MonoOntario · 10,036 people$140,200B#921 of 2,556 nationallyStrongest: safety A, hazard risk B+·lowest: cost of living C−
95Westbrook EstatesAlberta · 2,838 people$140,100A−#365 of 2,556 nationallyStrongest: hazard risk A+, schools A+·lowest: safety C−
96New SpringbrookOntario · 12,804 people$140,100B+#800 of 2,556 nationallyStrongest: hazard risk A, walkability A−·lowest: cost of living C−
97Centennial ScarboroughOntario · 13,453 people$139,900A−#461 of 2,556 nationallyStrongest: walkability A+, safety A·lowest: cost of living C−
98GarnerOntario · 5,456 people$139,800B+#600 of 2,556 nationallyStrongest: schools A, jobs & income A−·lowest: walkability C+
99ChaparralAlberta · 12,522 people$139,700A#211 of 2,556 nationallyStrongest: health A+, schools A·lowest: safety B−
100Whyte RidgeManitoba · 7,299 people$139,700B+#682 of 2,556 nationallyStrongest: jobs & income A, cost of living A−·lowest: safety D
Method

How this list is made

Median household income before tax, 2020 (2021 census). Towns of 2,500 or more in Canada are listed by it, best first; a tie goes to the town with the better overall rank. How grades work

Rankings

More lists across Canada

Province by province

Best places to live, province by province

Photos: Bridle Path-Sunnybrook-York Mills, Jeff Hitchcock from Seattle, WA, USA (CC BY 2.0) · Aspen Woods, Qyd (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).