City Rank Canada
Which Canadian city offers the best living standards? Canada's largest metro areas, with Toronto split into its ten biggest GTA cities, are each scored on safety, jobs, housing cost, climate, air quality, traffic and amenities using public data that refreshes automatically. Set your own priorities below.
Your priorities
Drag to change how much each category counts. The ranking updates instantly.
| # | City | Overall | Safety | Jobs & economy | Housing cost | Climate | Air quality | Traffic | Amenities |
|---|---|---|---|---|---|---|---|---|---|
| 1 | CalgaryAB | 67 | 78 | 66 | 75 | 66 | 75 | 63 | |
| 2 | MiltonON · GTA | 100 | 64 | 53 | 57 | 85 | 96 | 1 | |
| 3 | OshawaON | 81 | 47 | 62 | 61 | 96 | 88 | 17 | |
| 4 | OakvilleON · GTA | 100 | 57 | 53 | 62 | 75 | 64 | 19 | |
| 5 | ReginaSK | 34 | 76 | 73 | 53 | 96 | 100 | 18 | |
| 6 | PickeringON · GTA | 81 | 70 | 53 | 63 | 89 | 51 | 12 | |
| 7 | SherbrookeQC | 70 | 62 | 82 | 31 | 94 | 71 | 8 | |
| 8 | HamiltonON | 71 | 46 | 77 | 61 | 86 | 63 | 26 | |
| 9 | St. Catharines–NiagaraON | 71 | 37 | 74 | 58 | 87 | 92 | 5 | |
| 10 | OttawaON | 72 | 56 | 62 | 43 | 95 | 51 | 62 | |
| 11 | AjaxON · GTA | 81 | 56 | 53 | 60 | 89 | 54 | 14 | |
| 12 | Québec CityQC | 66 | 72 | 59 | 36 | 79 | 70 | 24 | |
| 13 | HalifaxNS | 55 | 74 | 49 | 39 | 100 | 79 | 25 | |
| 14 | Richmond HillON · GTA | 75 | 54 | 53 | 56 | 88 | 44 | 33 | |
| 15 | SaskatoonSK | 22 | 74 | 66 | 46 | 96 | 98 | 13 | |
| 16 | EdmontonAB | 31 | 68 | 68 | 46 | 79 | 81 | 51 | |
| 17 | MarkhamON · GTA | 75 | 52 | 53 | 52 | 89 | 36 | 47 | |
| 18 | Kitchener–WaterlooON | 58 | 57 | 61 | 48 | 95 | 39 | 27 | |
| 19 | VictoriaBC | 53 | 63 | 41 | 75 | 62 | 69 | 24 | |
| 20 | TorontoON · GTA | 63 | 46 | 53 | 62 | 81 | 32 | 76 | |
| 21 | WindsorON | 70 | 42 | 70 | 53 | 54 | 55 | 32 | |
| 22 | VaughanON · GTA | 75 | 54 | 53 | 52 | 75 | 19 | 48 | |
| 23 | MontréalQC | 59 | 52 | 39 | 43 | 68 | 74 | 90 | |
| 24 | BramptonON · GTA | 65 | 44 | 53 | 54 | 75 | 30 | 31 | |
| 25 | WinnipegMB | 0 | 73 | 70 | 42 | 95 | 39 | 50 | |
| 26 | LondonON | 60 | 34 | 57 | 46 | 95 | 33 | 15 | |
| 27 | MississaugaON · GTA | 65 | 36 | 53 | 50 | 75 | 0 | 50 | |
| 28 | VancouverBC | 49 | 55 | 47 | 60 | 0 | 11 | 51 | |
| 29 | KelownaBC | 30 | 35 | 29 | 75 | 0 | 85 | 6 |
How the score works
- Metric scores. For each measurement, the best city gets 100 and the worst gets 0; others are placed proportionally in between. For things like crime or rent, lower values score higher.
- Category scores. Each category is the average of its metric scores.
- Overall score. A weighted average of category scores using your priorities. If a city has no data for a category, the other categories are re-weighted for that city.
GTA cities. Toronto, Mississauga, Brampton, Markham, Vaughan, Oakville, Richmond Hill, Milton, Ajax and Pickering are ranked separately. Each has its own weather, air quality, amenities, traffic and population figures, and the crime index of its police service (several cities share one: Peel, York, Halton or Durham Regional Police). Jobs and rent are only published for the whole Toronto metro area, so those values are the same for all ten and are labelled “Toronto metro”. Oshawa's safety score uses Durham Regional Police.
| Category | What it measures | Metrics |
|---|---|---|
| Safety | Police-reported crime, weighted by seriousness. | Crime Severity Index, Violent Crime Severity Index |
| Jobs & economy | Labour market strength and population growth. | Unemployment rate, Employment rate, Population growth |
| Housing cost | Average rent and how fast it is rising. | Average 2-bedroom rent, Rent change |
| Climate | Extreme cold/heat, snow, wet days and sunshine over the past year. | Extreme cold days, Hot days, Snowfall, Wet days, Sunshine |
| Air quality | Fine-particle (PM2.5) pollution over the past 90 days. | PM2.5 (90-day mean) |
| Traffic | Rush-hour road congestion measured by TomTom. | Rush-hour congestion |
| Amenities | Parks, healthcare, schools and transit stops near downtown. | Parks, Hospitals & clinics, Schools, Transit stops |
Data sources
The pipeline runs every hour. Yearly and monthly statistics are only re-downloaded when they may have changed.
| Source | Last run | Data fetched | Refresh |
|---|---|---|---|
| Open-Meteo Forecast API | updated | 2026-11-13T09:45:56Z | every run |
| Open-Meteo Historical Weather API | cached | 2026-11-13T01:58:36Z | every 12 hours |
| Open-Meteo Air Quality API | updated | 2026-11-13T09:45:56Z | every 6 hours |
| Statistics Canada – Crime Severity Index (35-10-0026-01, 35-10-0188-01) | cached | 2026-11-11T22:53:49Z | every 7 days |
| Statistics Canada – Labour Force Survey (14-10-0459-01) | cached | 2026-11-12T12:58:41Z | daily |
| Statistics Canada – Population estimates (17-10-0148-01, 17-10-0155-01) | cached | 2026-11-11T22:53:49Z | every 7 days |
| CMHC average rents via Statistics Canada (34-10-0133-01) | cached | 2026-11-11T22:53:49Z | every 7 days |
| OpenStreetMap via Overpass API | cached | 2026-11-11T22:53:49Z | every 7 days |
| TomTom Traffic Flow API | updated | 2026-11-13T09:45:56Z | every run |