What's in, what's out, and why.
This dashboard is built on the Toronto Police Service Community Safety Indicators series, with Statistics Canada population denominators. Below is the methodology it stands on. Read it before comparing anything on this site.
Contents
01 · Sources 02 · The default unit 03 · Why a choropleth, not dots 04 · Scope and exclusions 05 · Refresh cadence 06 · Ethics 07 · ColophonSources.
All incident data is sourced from the Toronto Police Service Community Safety Indicators. The dashboard reads pre-aggregated JSON produced by the build pipeline, which is why cross-filter UI stays fast even on mobile. Data covers reports through 2026-06-30, imported 2026-07-27.
- Incidents
- Toronto Police Service · Community Safety Indicators
- Population (city)
- Statistics Canada table 17-10-0155-01 · City of Toronto census subdivision, July 1 estimates, released 2026-01-14
- Population (nbhd)
- City of Toronto Neighbourhood Profiles · 2021 Census 25% sample, reference date May 11, 2021
- National context
- Statistics Canada table 35-10-0026-01 · Crime Severity Index, released 2026-07-22
- Metro context
- Statistics Canada table 35-10-0177-01 · Census Metropolitan Area crime rates, released 2026-07-22
- Boundaries
- City of Toronto · 158 official neighbourhoods · 2021 boundary set
- Hate crimes
- Toronto Police Service · Hate Crimes open data, plus annual statistical-report totals. See the Hate Crimes page.
Statistics Canada material is used under the Statistics Canada Open Licence. These datasets are not covered by the software licence, and this site is not a Statistics Canada product.
City-wide population. City-wide rates divide Toronto Police Service incident counts by these July 1 estimates. Adapted from Statistics Canada, Table 17-10-0155-01, Population estimates, July 1, by census subdivision, 2021 boundaries, July 1, 2016 to 2025 (released 2026-01-14). This does not constitute an endorsement by Statistics Canada of this product.
Neighbourhood population. Neighbourhood rates use the 2021 Census 25% sample counts in the City of Toronto Neighbourhood Profiles. Those counts were obtained from the City under the Open Government Licence – Toronto. Adapted from Statistics Canada, Census of Population, 2021, May 11, 2021. This does not constitute an endorsement by Statistics Canada of this product.
Crime Severity Index. The Toronto in national context card displays this index. Adapted from Statistics Canada, Table 35-10-0026-01, Crime severity index and weighted clearance rates, Canada, provinces, territories and Census Metropolitan Areas, 2015 to 2025 (released 2026-07-22). This does not constitute an endorsement by Statistics Canada of this product.
Metro crime rates. The Toronto metro in context card displays Census Metropolitan Area rates. The Money Laundering page separately displays 2016–2025 fraud and proceeds-of-crime counts for Toronto CMA and Canada; its CSV download retains 2010–2025. Adapted from Statistics Canada, Table 35-10-0177-01, Incident-based crime statistics, by detailed violations, Canada, provinces, territories, Census Metropolitan Areas and Canadian Forces Military Police, 2016 to 2025 (released 2026-07-22). This does not constitute an endorsement by Statistics Canada of this product.
Toronto municipal fraud and proceeds of crime. The Money Laundering page displays 2016–2025 counts for the Toronto municipal police service. Its CSV download retains 2010–2025. Adapted from Statistics Canada, Table 35-10-0180-01, Incident-based crime statistics, by detailed violations, police services in Ontario, 2010 to 2025 (released 2026-07-22). This does not constitute an endorsement by Statistics Canada of this product.
The default unit is raw incident counts.
Every chart on this site defaults to raw incident counts — the unfiltered record of what was reported — with rate per 10,000 residents one toggle away. Toggling units changes the meaning of every number on screen at once.
Why a choropleth, not a dot/cluster map.
The source publishes approximate lat/lng per incident and explicitly forbids exact-address presentation. A dot map would imply a precision the data does not have, and risks tying records to specific buildings, blocks, or people. We instead aggregate to neighbourhood level: 158 cells, each shaded by the active category in the active unit — raw counts by default, rate per 10K residents one toggle away (ADR-009).
Scope and exclusions.
This dashboard is intentionally narrow. Knowing what it doesn't cover is part of reading it correctly.
This is a trend dashboard, not a live ticker.
The TPS source refreshes quarterly. There is no "Recent incidents" widget, no relative date strings ("3 days ago"), and no live feed. The chronological feed uses absolute dates only. The site itself is updated periodically, with no fixed schedule. Every freshness number on the page (topbar pill, this card, the footer) reflects the data itself: the latest report date the imported data covers, and when it was imported, not when the site was last rebuilt.
What this dashboard doesn't do.
- No language calling a neighbourhood "safe" or "dangerous." Show the data, don't label the place.
- Counts are the default (ADR-009), but rates per 10K stay one toggle away everywhere — switch to rates when comparing neighbourhoods of different sizes, because raw counts visually penalise high-population areas.
- The map stays at neighbourhood resolution. The source archive keeps the approximate lat/lng TPS publishes, and the dashboard does not plot those points.
- No relative-date framing ("yesterday"). This is a trend tool, not a crime ticker.
- Colour is never the only cue. Every category has a distinct glyph and a label.
- WCAG AA contrast minimum, including chart strokes and choropleth fills.
Colophon.
Type: Space Grotesk & JetBrains Mono. Charts hand-rolled in SVG against an oklch palette. Map: Leaflet with a locally hosted Toronto basemap from Protomaps and OpenStreetMap, plus 2021 Census neighbourhood polygons. The geographic snapshot is cached separately from crime figures. Built with Astro; reads pre-aggregated JSON.
Toronto Crime Pulse · v1.0.0-rc · No cookies. No ads. No paywall. Open methodology.
About this data
How to read these figures
- What does “crime” mean for Toronto?
- Crime by neighbourhood means the indicators Toronto Police Service publishes for Toronto (2016–2025). They are reported incident or offence counts, not arrests, charges, or a safety score. The same heading in another city is not the same offence.
- Where do the numbers come from?
- Police figures come from Toronto Police Service. Area boundaries come from City of Toronto · neighbourhood boundaries. Rates, when a denominator exists, use Statistics Canada · Census and population estimates and are shown per 10,000 residents. A missing year, indicator, or boundary stays missing.
- How often is this updated?
- The site is updated periodically, with no fixed public schedule and no live feed. Comparable charts use full years. A year-to-date control, when the page has one, labels the partial year separately.
- What does this not show?
- Drug offences and overdose deaths are separate series, not part of these neighbourhoods. There is no single cross-city crime index. Counting rules and source links are on the Toronto about page.