Guest, Sign inJoin
Track lighting (resized)North River Heights, #1 on this list · Photo: Wtshymanski (CC BY-SA 3.0)
Manitoba · 2026

Towns with the highest household incomes in Manitoba

Nationally, North River Heights ranks #75 of 2,589. 4 places in Manitoba reach the top 100 for all of Canada. Nowhere in Manitoba does better on this list than North River Heights, at $143,400. East St. Paul is second ($142,200) and Headingley third ($140,600). The middle of the list is Ste. Anne, with $83,900. The list ends with West Broadway, at $36,500.

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

#1

North River Heights

Manitoba · 7,228 people
$143,400 Household income

Overall A·#277 of 2,556

Strongest: jobs & income A+, cost of living A·lowest: safety D

#2

East St. Paul

Manitoba · 10,321 people
$142,200 Household income

Overall A−·#481 of 2,556

Strongest: jobs & income A, hazard risk A−·lowest: walkability C−

#3

Headingley

Manitoba · 5,368 people
$140,600 Household income

Overall C+·#1,516 of 2,556

Strongest: cost of living B, jobs & income B·lowest: walkability C−

All 185, ranked in Manitoba

Best first in Manitoba; beside each place, its rank on the same list for all of Canada.

Every Manitoba list

185 places

#TownHousehold incomeCanada rankWhat drives it
1North River Heights7,228 people$143,400#75 of 2,589Strongest: jobs & income A+, cost of living A·lowest: safety D
2East St. Paul10,321 people$142,200#80 of 2,589Strongest: jobs & income A, hazard risk A−·lowest: walkability C−
3Headingley5,368 people$140,600#90 of 2,589Strongest: cost of living B, jobs & income B·lowest: walkability C−
4Whyte Ridge7,299 people$139,700#100 of 2,589Strongest: jobs & income A, cost of living A−·lowest: safety D
5Central River Heights2,736 people$136,600#121 of 2,589Strongest: jobs & income A+, walkability A·lowest: safety D
6La Salle9,215 people$135,400#131 of 2,589Strongest: jobs & income A−, cost of living B+·lowest: health C+
7Island Lakes4,148 people$133,600#141 of 2,589Strongest: jobs & income A, cost of living B+·lowest: safety D
8Fraipont4,221 people$132,600#152 of 2,589Strongest: jobs & income A−, hazard risk B+·lowest: safety D
9Royalwood6,439 people$130,800#164 of 2,589Strongest: jobs & income A, hazard risk B+·lowest: safety D
10Grassie2,857 people$127,800#202 of 2,589Strongest: jobs & income A+, hazard risk B+·lowest: safety D
11Sage Creek7,391 people$126,300#224 of 2,589Strongest: jobs & income A, hazard risk B+·lowest: safety D
12Linden Woods11,134 people$126,200#227 of 2,589Strongest: jobs & income A, hazard risk B+·lowest: safety D
13Amber Trails9,256 people$124,700#244 of 2,589Strongest: jobs & income A, hazard risk B+·lowest: safety D
14West St. Paul10,796 people$123,600#263 of 2,589Strongest: jobs & income A, hazard risk B+·lowest: walkability D
15Crescentwood3,060 people$123,400#267 of 2,589Strongest: jobs & income A+, walkability A+·lowest: safety D
16North Inkster Industrial3,661 people$123,200#272 of 2,589Strongest: jobs & income A, hazard risk B+·lowest: safety D
17Riverbend5,453 people$118,900#349 of 2,589Strongest: jobs & income A−, walkability B+·lowest: safety D
18Minnetonka4,461 people$118,500#357 of 2,589Strongest: jobs & income A, hazard risk B+·lowest: safety D
19Elmhurst6,600 people$117,200#383 of 2,589Strongest: jobs & income A, hazard risk B+·lowest: safety D
20Oakbank17,494 people$114,300#421 of 2,589Strongest: jobs & income B, hazard risk B·lowest: health D
21Canterbury Park8,744 people$114,100#424 of 2,589Strongest: walkability A−, jobs & income A−·lowest: safety D
22Southdale8,210 people$113,200#443 of 2,589Strongest: jobs & income A, walkability A·lowest: safety D
23Springfield North8,327 people$112,800#454 of 2,589Strongest: jobs & income A, hazard risk B+·lowest: safety D
24South River Heights2,632 people$111,600#478 of 2,589Strongest: jobs & income A+, walkability A−·lowest: safety D
25River Park South12,304 people$110,600#500 of 2,589Strongest: jobs & income A−, walkability B+·lowest: safety D
26South Tuxedo3,629 people$110,200#512 of 2,589Strongest: jobs & income A+, hazard risk B+·lowest: safety D
27St. Adolphe8,770 people$109,900#519 of 2,589Strongest: hazard risk A−, safety B+·lowest: walkability C
28Mandalay West5,423 people$109,900#520 of 2,589Strongest: jobs & income A−, hazard risk B+·lowest: safety D
29Lorette13,509 people$109,400#530 of 2,589Strongest: hazard risk A−, jobs & income B·lowest: walkability C
30Westwood5,716 people$109,200#533 of 2,589Strongest: jobs & income A, hazard risk B+·lowest: safety D
31Bridgwater Forest5,076 people$109,100#535 of 2,589Strongest: jobs & income A−, hazard risk B+·lowest: safety D
32Point Road3,290 people$107,100#589 of 2,589Strongest: jobs & income A+, walkability A·lowest: safety D
33South Pointe8,168 people$107,100#591 of 2,589Strongest: hazard risk B+, health B+·lowest: safety D
34Betsworth7,476 people$107,000#595 of 2,589Strongest: jobs & income A+, hazard risk B+·lowest: safety D
35Inkster Gardens6,115 people$107,000#596 of 2,589Strongest: jobs & income A−, hazard risk B+·lowest: safety D
36St. Andrews12,021 people$106,700#605 of 2,589Strongest: jobs & income B+, hazard risk B·lowest: health C−
37Tyndall Park12,393 people$105,000#631 of 2,589Strongest: jobs & income A, walkability A·lowest: safety D
38Dakota Crossing13,048 people$105,000#632 of 2,589Strongest: jobs & income A−, walkability A−·lowest: safety D
39Tuxedo4,295 people$104,900#637 of 2,589Strongest: jobs & income A+, walkability A·lowest: safety D
40West Kildonan Industrial3,678 people$104,800#644 of 2,589Strongest: jobs & income A, walkability B+·lowest: safety D
41River East7,774 people$103,200#685 of 2,589Strongest: jobs & income A, walkability B+·lowest: safety D
42Glendale3,586 people$103,100#688 of 2,589Strongest: jobs & income A+, walkability A−·lowest: safety D
43Bridgwater Trails11,365 people$102,700#700 of 2,589Strongest: hazard risk B+, health B+·lowest: safety D
44Niverville7,277 people$102,000#712 of 2,589Strongest: safety A, hazard risk A−·lowest: health C+
45Stony Mountain9,180 people$101,100#742 of 2,589Strongest: cost of living A−, hazard risk B·lowest: health C−
46St. Norbert8,251 people$100,800#749 of 2,589Strongest: walkability B+, hazard risk B+·lowest: safety D
47Cartier3,739 people$100,600#756 of 2,589Strongest: cost of living A−, safety B−·lowest: walkability D
48Mission Gardens3,979 people$99,800#774 of 2,589Strongest: walkability A−, hazard risk B+·lowest: safety D
49Rivergrove2,742 people$99,500#790 of 2,589Strongest: jobs & income A, walkability A−·lowest: safety D
50Cornwallis4,705 people$99,300#798 of 2,589Strongest: jobs & income A+, cost of living A−·lowest: walkability C
51Westdale5,339 people$99,200#802 of 2,589Strongest: walkability B+, hazard risk B+·lowest: safety D
52Stonewall5,443 people$99,000#808 of 2,589Strongest: walkability A, jobs & income A−·lowest: health C
53Richmond West6,114 people$98,900#809 of 2,589Strongest: walkability A, hazard risk B+·lowest: safety D
54Pulberry7,723 people$98,700#818 of 2,589Strongest: walkability A, jobs & income A·lowest: safety D
55Buchanan3,473 people$98,200#829 of 2,589Strongest: hazard risk B+, health B+·lowest: safety D
56Thompson12,917 people$95,700#908 of 2,589Strongest: cost of living A, jobs & income A−·lowest: safety D−
57St. Clements12,029 people$95,700#909 of 2,589Strongest: hazard risk B, jobs & income B−·lowest: walkability D
58Peguis11,177 people$95,100#924 of 2,589Strongest: jobs & income A−, walkability B+·lowest: safety D
59Norwood West2,909 people$95,000#927 of 2,589Strongest: walkability A+, jobs & income A·lowest: safety D
60Meadows3,822 people$94,600#937 of 2,589Strongest: walkability A−, jobs & income A−·lowest: safety D
61Brokenhead5,931 people$93,800#964 of 2,589Strongest: hazard risk B, safety B·lowest: health C−
62Waverley Heights5,252 people$93,600#970 of 2,589Strongest: walkability A+, health B+·lowest: safety D
63North Cypress-Langford3,234 people$93,300#980 of 2,589Strongest: cost of living A−, hazard risk B−·lowest: walkability C
64Radisson3,653 people$91,700#1,034 of 2,589Strongest: hazard risk B+, walkability B+·lowest: safety D
65Robertson5,090 people$91,200#1,052 of 2,589Strongest: jobs & income A+, walkability A·lowest: safety D
66Woodlands4,057 people$91,100#1,057 of 2,589Strongest: cost of living A−, hazard risk B·lowest: health D
67Deer Lodge3,691 people$90,500#1,083 of 2,589Strongest: walkability A, jobs & income A−·lowest: safety D
68Dufferin2,587 people$90,400#1,085 of 2,589Strongest: safety A+, jobs & income A+·lowest: walkability C
69Varsity View2,985 people$90,400#1,088 of 2,589Strongest: jobs & income A+, walkability A·lowest: safety D
70Stanley9,929 people$89,700#1,113 of 2,589Strongest: safety A+, jobs & income A·lowest: walkability C−
71Old Tuxedo6,812 people$89,600#1,124 of 2,589Strongest: walkability A+, jobs & income A·lowest: safety D
72St. George4,254 people$89,300#1,143 of 2,589Strongest: walkability A, hazard risk B+·lowest: safety D
73Maybank4,817 people$89,300#1,144 of 2,589Strongest: walkability A+, hazard risk B+·lowest: safety D
74Riverview4,649 people$88,600#1,170 of 2,589Strongest: walkability A+, jobs & income A·lowest: safety D
75Morris3,550 people$88,400#1,176 of 2,589Strongest: jobs & income A−, cost of living B+·lowest: safety C
76Portage la Prairie7,359 people$88,300#1,180 of 2,589Strongest: cost of living B, jobs & income B−·lowest: walkability D
77Shaughnessy Park5,169 people$88,100#1,189 of 2,589Strongest: walkability A+, hazard risk B+·lowest: safety D
78Rossmere-B4,732 people$88,000#1,197 of 2,589Strongest: walkability A, hazard risk B+·lowest: safety D
79Mitchell19,950 people$87,800#1,205 of 2,589Strongest: hazard risk A−, safety B+·lowest: walkability C+
80The Maples13,766 people$87,700#1,211 of 2,589Strongest: walkability A, hazard risk B+·lowest: safety D
81St. Boniface Industrial Park5,252 people$87,500#1,220 of 2,589Strongest: hazard risk B+, walkability B+·lowest: safety D
82Garden City6,794 people$87,100#1,243 of 2,589Strongest: walkability A−, hazard risk B+·lowest: safety D
83Seven Oaks3,244 people$86,200#1,289 of 2,589Strongest: walkability A, hazard risk B+·lowest: safety D
84De Salaberry4,401 people$86,100#1,291 of 2,589Strongest: hazard risk A−, safety B+·lowest: jobs & income C−
85Leila North3,966 people$86,000#1,303 of 2,589Strongest: walkability A+, health B+·lowest: safety D
86Glenwood6,617 people$85,600#1,322 of 2,589Strongest: walkability A, jobs & income A−·lowest: safety D
87The Pas5,634 people$85,600#1,324 of 2,589Strongest: cost of living A+, walkability A·lowest: safety D−
88Lac du Bonnet3,592 people$85,300#1,334 of 2,589Strongest: cost of living B+, hazard risk B·lowest: jobs & income D
89Meadowood6,991 people$85,100#1,346 of 2,589Strongest: walkability A+, hazard risk B+·lowest: safety D
90Neepawa6,328 people$84,400#1,376 of 2,589Strongest: jobs & income A+, cost of living A·lowest: health B−
91Kirkfield4,100 people$84,400#1,381 of 2,589Strongest: walkability A, jobs & income A·lowest: safety D
92Crestview8,658 people$83,900#1,402 of 2,589Strongest: walkability A, hazard risk B+·lowest: safety D
93Ste. Anne6,387 people$83,900#1,403 of 2,589Strongest: hazard risk A−, safety B+·lowest: walkability D−
94Windsor Park12,523 people$83,900#1,404 of 2,589Strongest: walkability A, hazard risk B+·lowest: safety D
95La Broquerie7,808 people$83,900#1,405 of 2,589Strongest: safety B+, health C+·lowest: hazard risk D−
96Wallace-Woodworth2,983 people$82,300#1,470 of 2,589Strongest: jobs & income A, cost of living A·lowest: health C
97Templeton-Sinclair3,987 people$82,200#1,473 of 2,589Strongest: walkability A−, health B+·lowest: safety D
98Tuxedo Industrial2,726 people$82,100#1,476 of 2,589Strongest: jobs & income B+, hazard risk B+·lowest: cost of living D−
99Sargent Park6,242 people$82,000#1,479 of 2,589Strongest: walkability A+, jobs & income A·lowest: safety D
100Sturgeon Creek3,202 people$81,700#1,497 of 2,589Strongest: walkability A, health B+·lowest: safety D
101Minto5,830 people$80,100#1,571 of 2,589Strongest: walkability A+, hazard risk B+·lowest: safety D
102Flin Flon (Part)4,732 people$80,000#1,576 of 2,589Strongest: cost of living A+, walkability A·lowest: hazard risk D−
103Russell2,715 people$79,700#1,590 of 2,589Strongest: jobs & income A+, walkability A·lowest: safety D
104Rhineland6,819 people$79,300#1,613 of 2,589Strongest: jobs & income B, walkability B·lowest: safety C
105Booth9,016 people$78,500#1,646 of 2,589Strongest: walkability A+, health B+·lowest: safety D
106Eaglemere3,631 people$78,500#1,649 of 2,589Strongest: health B+, walkability B+·lowest: cost of living D
107Kildare-Redonda8,294 people$78,300#1,658 of 2,589Strongest: walkability A, hazard risk B+·lowest: safety D
108Kildonan Drive5,063 people$77,900#1,677 of 2,589Strongest: walkability A, jobs & income B+·lowest: safety D
109Valley Gardens8,329 people$77,900#1,681 of 2,589Strongest: walkability A, health B+·lowest: safety D
110Normand Park5,299 people$77,600#1,702 of 2,589Strongest: walkability A−, hazard risk B+·lowest: safety D
111Brooklands3,114 people$77,200#1,718 of 2,589Strongest: walkability A−, hazard risk B+·lowest: safety D
112East Elmwood3,611 people$77,100#1,727 of 2,589Strongest: walkability A, hazard risk B+·lowest: safety D
113Luxton3,047 people$76,900#1,735 of 2,589Strongest: walkability A+, hazard risk B+·lowest: safety D
114King Edward7,190 people$76,500#1,746 of 2,589Strongest: walkability A+, hazard risk B+·lowest: safety D
115North St. Boniface3,358 people$76,400#1,752 of 2,589Strongest: walkability A+, hazard risk B+·lowest: safety D
116Brandon59,444 people$76,200#1,763 of 2,589Strongest: walkability A−, jobs & income A−·lowest: safety C−
117Victoria West3,687 people$76,200#1,766 of 2,589Strongest: walkability A, hazard risk B+·lowest: safety D
118Munroe West2,532 people$75,800#1,782 of 2,589Strongest: walkability A+, hazard risk B+·lowest: safety D
119Burrows Central5,565 people$75,700#1,789 of 2,589Strongest: walkability A+, hazard risk B+·lowest: safety D
120Wolseley8,127 people$75,400#1,801 of 2,589Strongest: walkability A+, health B+·lowest: cost of living D
121Silver Heights7,883 people$75,100#1,813 of 2,589Strongest: walkability A+, hazard risk B+·lowest: safety D
122Brockville2,632 people$74,800#1,828 of 2,589Strongest: hazard risk B+, walkability B+·lowest: cost of living D
123Rockwood4,554 people$74,400#1,839 of 2,589Strongest: walkability A+, hazard risk B+·lowest: safety D
124Ste. Anne3,587 people$73,800#1,867 of 2,589Strongest: safety A−, walkability B+·lowest: hazard risk D−
125Lord Roberts5,104 people$73,800#1,870 of 2,589Strongest: walkability A+, hazard risk B+·lowest: safety D
126Munroe East8,873 people$73,500#1,884 of 2,589Strongest: walkability A, health B+·lowest: safety D
127Fort Richmond11,563 people$73,400#1,889 of 2,589Strongest: walkability A+, hazard risk B+·lowest: cost of living D
128Inkster-Faraday3,700 people$73,300#1,893 of 2,589Strongest: walkability A+, hazard risk B+·lowest: safety D
129Grey2,655 people$73,200#1,896 of 2,589Strongest: safety A+, cost of living A−·lowest: health C+
130Souris2,737 people$73,000#1,899 of 2,589Strongest: walkability A, cost of living A−·lowest: hazard risk C+
131Leila-McPhillips Triangle3,824 people$72,300#1,924 of 2,589Strongest: walkability A+, health B+·lowest: safety D
132Altona4,989 people$72,100#1,930 of 2,589Strongest: walkability A, jobs & income B+·lowest: cost of living B−
133Killarney3,708 people$72,100#1,931 of 2,589Strongest: walkability A, cost of living A−·lowest: safety C
134Alexander4,032 people$72,100#1,935 of 2,589Strongest: cost of living B+, hazard risk B·lowest: safety D−
135Steinbach21,671 people$72,000#1,936 of 2,589Strongest: hazard risk A−, walkability A−·lowest: safety C−
136Virden3,322 people$71,800#1,942 of 2,589Strongest: walkability A, jobs & income A·lowest: safety C−
137Heritage Park5,817 people$71,800#1,944 of 2,589Strongest: walkability A−, health B+·lowest: safety D
138Morden11,578 people$71,500#1,954 of 2,589Strongest: jobs & income B+, walkability B+·lowest: cost of living C
139North Norfolk4,084 people$71,400#1,961 of 2,589Strongest: cost of living A−, walkability B·lowest: jobs & income C+
140Beausejour3,565 people$71,100#1,982 of 2,589Strongest: walkability A−, hazard risk B·lowest: cost of living C
141Pembina2,502 people$71,000#1,984 of 2,589Strongest: safety A+, cost of living A·lowest: jobs & income C+
142Jefferson11,524 people$70,800#1,996 of 2,589Strongest: walkability A, hazard risk B+·lowest: safety D
143Gimli6,914 people$70,700#2,003 of 2,589Strongest: walkability B, hazard risk B·lowest: safety D
144Winkler16,156 people$70,500#2,009 of 2,589Strongest: safety A−, jobs & income B+·lowest: cost of living C−
145Swan Valley West2,702 people$70,400#2,014 of 2,589Strongest: cost of living A, jobs & income A·lowest: safety D
146Minnedosa2,859 people$69,700#2,037 of 2,589Strongest: cost of living B+, walkability B·lowest: safety C
147Niakwa Place3,461 people$69,600#2,042 of 2,589Strongest: walkability A, hazard risk B+·lowest: cost of living D
148Roslyn4,411 people$69,500#2,048 of 2,589Strongest: walkability A+, jobs & income A−·lowest: safety D
149Lorne3,022 people$69,300#2,057 of 2,589Strongest: cost of living A+, safety A+·lowest: health B−
150Earl Grey5,152 people$69,300#2,061 of 2,589Strongest: walkability A+, hazard risk B+·lowest: cost of living D
151Portage la Prairie14,738 people$69,000#2,076 of 2,589Strongest: walkability A, jobs & income B·lowest: safety D
152Bifrost-Riverton3,518 people$68,900#2,081 of 2,589Strongest: cost of living B, walkability B·lowest: safety D−
153Weston6,661 people$68,700#2,088 of 2,589Strongest: walkability A, hazard risk B+·lowest: safety D
154Talbot-Grey2,756 people$68,000#2,111 of 2,589Strongest: walkability A−, hazard risk B+·lowest: safety D
155Selkirk11,570 people$68,000#2,115 of 2,589Strongest: walkability A, hazard risk B·lowest: safety D
156Emerson-Franklin2,686 people$67,300#2,141 of 2,589Strongest: hazard risk A−, cost of living A−·lowest: jobs & income C−
157Rossmere-A13,613 people$67,000#2,155 of 2,589Strongest: walkability A, hazard risk B+·lowest: cost of living D
158McMillan3,568 people$66,900#2,160 of 2,589Strongest: walkability A+, health B+·lowest: cost of living D
159Norwood East3,881 people$66,900#2,162 of 2,589Strongest: walkability A+, health B+·lowest: cost of living D
160Carman3,547 people$66,800#2,167 of 2,589Strongest: walkability A, jobs & income B·lowest: cost of living C
161Daniel McIntyre9,584 people$65,300#2,214 of 2,589Strongest: walkability A+, health B+·lowest: safety D
162St. John's8,492 people$63,400#2,281 of 2,589Strongest: walkability A+, hazard risk B+·lowest: jobs & income D
163Mathers2,785 people$63,100#2,292 of 2,589Strongest: walkability A+, hazard risk B+·lowest: cost of living D
164WestLake-Gladstone3,604 people$62,900#2,300 of 2,589Strongest: cost of living A−, walkability B+·lowest: jobs & income C−
165Chalmers12,384 people$62,800#2,305 of 2,589Strongest: walkability A+, hazard risk B+·lowest: safety D
166St. Matthews5,699 people$62,400#2,322 of 2,589Strongest: walkability A+, health B+·lowest: safety D
167Swan River4,048 people$61,000#2,359 of 2,589Strongest: walkability A, cost of living B·lowest: safety D−
168Division No. 19, Unorganized3,324 people$60,800#2,365 of 2,589Strongest: cost of living A+, walkability C+·lowest: hazard risk D−
169Dauphin8,587 people$60,500#2,375 of 2,589Strongest: walkability A, cost of living B−·lowest: safety D−
170Worthington6,093 people$59,400#2,416 of 2,589Strongest: walkability A+, hazard risk B+·lowest: cost of living D
171Grant Park2,898 people$57,700#2,448 of 2,589Strongest: walkability A+, hazard risk B+·lowest: cost of living D
172Burrows-Keewatin2,506 people$57,600#2,454 of 2,589Strongest: walkability A+, hazard risk B+·lowest: safety D
173Roblin3,184 people$56,400#2,476 of 2,589Strongest: jobs & income B+, cost of living B+·lowest: safety D
174Central St. Boniface7,772 people$53,500#2,525 of 2,589Strongest: walkability A+, health B+·lowest: cost of living D
175West Alexander5,161 people$53,400#2,527 of 2,589Strongest: walkability A+, health B+·lowest: jobs & income D
176South Portage3,037 people$50,100#2,558 of 2,589Strongest: walkability A+, hazard risk B+·lowest: jobs & income D
177Valhalla3,153 people$48,800#2,562 of 2,589Strongest: walkability A+, hazard risk B+·lowest: cost of living D
178William Whyte11,432 people$48,000#2,570 of 2,589Strongest: walkability A+, hazard risk B+·lowest: jobs & income D−
179Broadway-Assiniboine5,871 people$46,800#2,576 of 2,589Strongest: walkability A+, health B+·lowest: safety D
180North Point Douglas2,670 people$46,400#2,577 of 2,589Strongest: walkability A+, hazard risk B+·lowest: jobs & income D−
181Alpine Place3,721 people$43,400#2,580 of 2,589Strongest: walkability A, hazard risk B+·lowest: jobs & income D
182Centennial4,483 people$40,300#2,585 of 2,589Strongest: walkability A+, health B+·lowest: jobs & income D−
183Spence4,378 people$37,600#2,586 of 2,589Strongest: walkability A+, health B+·lowest: jobs & income D−
184Central Park4,328 people$36,700#2,588 of 2,589Strongest: walkability A+, health B+·lowest: jobs & income D−
185West Broadway6,537 people$36,500#2,589 of 2,589Strongest: walkability A+, health B+·lowest: cost of living D−
Rankings

More lists for Manitoba

Province by province

Highest incomes elsewhere

Photos: North River Heights, Wtshymanski (CC BY-SA 3.0) · East St. Paul, Whitehea (CC BY-SA 4.0) · Headingley, Suburban Rapid Transit Co. via Winnipeg Electric Co. (Public domain), 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).