2021 Census Boundary Files
Geometry only — identifiers, no statistics; you join census or other data to it by DGUID. Boundaries are redrawn each census, so DA/CT/CSD units and codes aren't stable across cycles, complicating change-over-time maps.
Every number on this site comes from somewhere — and everything has limits. Below is the data behind canadastatistics.ca, then a wider map of Canadian open data we could pull in next, each with an honest note on what it can and can't tell you.
The 31 indicators on the map and charts come mostly from Statistics Canada’s 2021 Census, joined to boundaries by DGUID — with a few from other official sources: the Canadian Community Health Survey (health regions), CMHC and police-reported crime (metro areas), and Elections Canada (federal ridings). The census layers inherit its limits — counts are randomly rounded, tiny areas are suppressed, and long-form topics (income, housing) are a 25% sample. Where a source goes back — crime to 1998, rent to 1992, elections across 2015–2021, and most census measures to 2016 — a year control and an over-time chart let you trace the trend. Income is shown in constant dollars (real); home values and rents are nominal. Each indicator’s source and year range is shown beneath it.
53 sources we found that could feed a map or chart of Canada — federal, provincial, municipal, and the boundary files that make any of it mappable. The badge on each says how much work it’d be to bring into this site.
53 of 53 shown
Geometry only — identifiers, no statistics; you join census or other data to it by DGUID. Boundaries are redrawn each census, so DA/CT/CSD units and codes aren't stable across cycles, complicating change-over-time maps.
Counts firms (not jobs) from the Business Register, split into with/without employees and employment-size bands that are administrative estimates, with multi-site firms placed at one location and an 'unclassified' residual. CSDs with few businesses are sparse and counts shift with Register churn.
A sample survey of people in private dwellings, so health-region estimates carry sampling error and small or northern regions can be unreliable; figures often combine two years. Excludes reserves, institutions and full-time military. Joined here to the health-region boundary by region code (the data and boundary use slightly different DGUID vintages).
An administrative near-census, but sub-provincial tables are limited and small counts are suppressed or rounded; annual data lag 12–18 months and are revised for years, and cause-of-death coding changes affect comparability. Births and deaths are separate databases.
Counts are randomly rounded to a multiple of 5 or 10 and small or cross-tabulated cells are suppressed, so dissemination-area figures are approximate. Long-form topics (income, education, mobility) come from a 25% sample weighted up, with quality varying by local non-response; refreshed only every five years.
A near-census of completed charges and cases, but published geography stops at province/territory — no sub-provincial detail. Quebec municipal courts and some superior-court data are incompletely covered, and differing case rules limit comparison across jurisdictions and time.
A monthly household sample, so sub-provincial results are published only as 3-month moving averages and still carry real sampling error. Estimates exist only down to economic regions and CMAs — not municipalities — and those geographies need their own boundary layers.
Counts cover only crimes reported to and confirmed by police, so they miss unreported crime; the index weights offences by seriousness and is revised as court-sentencing data change, and small CMAs swing year to year. Joined here to census metropolitan areas by CMA code.
Built from tax records, so it covers only filers plus imputed children (~76% file) and ran ~7.5% below survey income in 2023; areas under 100 filers are suppressed, cells under 15 dropped, and amounts rounded to the nearest $5,000. Free tables reach CD/CMA — neighbourhood (FSA/CT) data are cost-recovery and lag ~2 years.
An access layer, not a dataset: geography, suppression and rounding depend entirely on the underlying table, and many tables are national/provincial-only with geography stored as names or SGC codes (DGUID coverage is uneven). Each table must be vetted individually; rate-limited to 25 requests/sec.
Every series is national only, with no provincial or sub-national breakdown, so it can't drive a choropleth. Records are keyed by Bank of Canada series codes, not any geographic identifier.
Most series are national, provincial, or tied to individual pipelines (operational geography with no DGUID), so only the province slices map to census tiers. Pipeline throughput is self-reported quarterly at selected points, so it isn't a complete picture of flows.
Public products are aggregated to provinces and health regions — not mappable to census division/subdivision and not DGUID-coded. Record-level microdata is access-restricted (formal request plus a secure environment) and some products are sold, so it isn't fully open.
Measures the existing purpose-built rental universe (occupied units), so average rents sit below market asking rents. Sub-CMA survey 'zones' are bespoke CMHC geographies; here we use the CMA/CA level, which StatCan republishes (table 34-10-0133) with a census CMA code. Small cells are suppressed (4+ respondents required).
Headline data is point observations from a station network with real coverage gaps (sparse in the North), stations that open and close, and incomplete records, so values must be interpolated to map onto areas. The companion GHG inventory is only national and provincial.
On the site now: voter turnout and margin of victory by riding for the 2021 (44th) general election, joined to the 2013-order FED boundary via a 2013A0004 DGUID. Only turnout and margin are mapped — the winning party is categorical and doesn't fit the numeric choropleth yet. Newer elections (the 45th, 2025) run on the 2023 order's 343 ridings, which need a different boundary and aren't comparable seat-to-seat without a crosswalk.
Provides topographic and basemap vector layers — reference cartography, not socioeconomic indicators keyed to census geography. Joining to census DGUIDs takes GIS spatial processing, not a code match.
A catalogue-of-catalogues (~47,000 datasets) whose API indexes metadata, not harmonized data, so coverage, geography and format vary wildly per dataset. DGUIDs appear in only some records — nothing maps without vetting each dataset individually.
Coverage is usually national or provincial, and geography is inconsistent across surveillance programs, making spatial joins unreliable. Many recent figures are provisional or modelled and subject to revision, with some provinces excluded from certain series.
A mid-size building block that nests cleanly in CD/CMA and rarely suppresses, but it's an unfamiliar unit and only exists from 2016 onward.
An intermediate county-level tier whose legal meaning varies by province (counties, MRCs, regional districts, or StatCan-defined equivalents), so it isn't uniform nationwide.
Covers only cities (41 CMAs + 111 CAs), leaving rural Canada blank; built from whole municipalities, so a CMA's boundary can reach well past the built-up core.
Municipalities — but thousands across 57 legal types (including reserves and unorganized areas) with hugely uneven sizes; small CSDs trigger suppression and amalgamations break time series.
Exists only inside CMAs and larger CAs, so there's no coverage for rural and small-town Canada; tracts are held at ~2,500–8,000 people for cross-census comparability.
It's the join key, not a map layer: a DGUID concatenates vintage + area-type + schema + area code, so your data and the boundary file must share the exact vintage and geography or rows silently fail to join. Only PR, CD and CSD also have short numeric codes.
The smallest tiers: the DA (~400–700) carries the full census profile but tiny counts force rounding and suppression; the block below it releases only population and dwelling counts, no socioeconomic characteristics.
Groups whole census divisions into sub-provincial regions and is the main tier for Labour Force Survey estimates, but it's too coarse for neighbourhood work, and Quebec's ERs are fixed by provincial law.
On the site now as the 2013-order, 338-riding boundary — the order the 2021 census and 2021 election both use, so census context and election results land on the same polygons. Ridings are redrawn each Representation Order: the 2023 order (343 ridings) applies to elections from 2025 on and would need its own boundary, not comparable seat-to-seat without a crosswalk.
Postal, not census, geography: FSAs are mail-delivery areas that don't nest in census boundaries. The boundary file carries a DGUID, but matching full 6-character postal codes needs the Postal Code Conversion File's point lookup to assign records to an area.
Province-defined health-authority areas rather than a census geography; they're assembled from census blocks via a StatCan correspondence file and provinces redraw them irregularly, so their vintage drifts from the census.
The coarsest tier (only 13 areas), so it hides all within-province variation; on the plus side the boundaries barely change, making it the most reliable join.
A strong geospatial catalogue, but data is in BC Albers and uses BC-specific units (regional districts, health authorities, natural-resource regions) that don't align with census CD/CSD. Not every dataset is open — some need registration.
A CKAN portal whose interface and metadata are primarily French, pooling provincial and municipal sources under several CC variants. Data is keyed by Québec codes (MRC, régions administratives) that don't match census CD/CSD.
A CKAN catalogue of ~340 datasets refreshed only quarterly; data is keyed to NWT communities and regions that don't nest into census CD/CSD. (Nunavut has no open-data portal — only its Bureau of Statistics.)
A geospatial-only ArcGIS Hub with little tabular socioeconomic data; layers use Manitoba administrative boundaries (municipalities, assessment parcels), not census CD/CSD.
Open data is split between this Socrata portal and the separate GeoNB geospatial catalogue, so coverage is fragmented. Geographies use NB municipal and parcel units that don't match census CD/CSD.
A Socrata catalogue of 500+ datasets. Records keyed by county, health zone or community don't align with census CD/CSD, and update cadence varies dataset to dataset.
A large CKAN catalogue, but most datasets are administrative tables keyed by municipality, public health unit or school board with no DGUID. Those service geographies don't nest into census CD/CSD, and freshness varies across thousands of datasets.
A small ArcGIS Hub skewed toward geospatial and infrastructure layers with thin socioeconomic coverage. Uses provincial boundaries that don't align with census CD/CSD.
The portal blends open data with publications, and many datasets are province-wide tables. Where geographic, it uses Alberta units (health zones, school authorities) that don't match census boundaries, and freshness is inconsistent.
A small ArcGIS Hub (~200 datasets); island-scale data rarely goes below community or parcel, and it ships its own provincial layers rather than census DGUIDs.
Saskatchewan has no unified catalogue: geospatial layers live in this ArcGIS Hub while statistics are scattered across agency pages. Layers use provincial units (rural municipalities) that don't match census CD/CSD.
A small CKAN catalogue mixing publications with data and many one-off datasets; community and territorial geographies don't match census CSD.
Keyed to Edmonton's own neighbourhood boundaries, not census tracts or DGUIDs, so joins require remapping. Assessment and 311 data are point records needing aggregation, and only Edmonton is covered.
Neighbourhood profiles use Toronto's own 158 neighbourhoods, not census tracts or DGUIDs, so joins need the city's boundary file. Much of it (311, permits, trees) is point data that must be aggregated to map.
Geographies are Vancouver's 22 local areas, not census geography, so DGUID joins need remapping. Flagship sets (trees, licences) are points needing aggregation, and coverage is the city only.
Geographies are Winnipeg wards and neighbourhoods, not census DGUIDs, so map joins need the city's boundary files. Permits, 311 and assessment are point data, and coverage is the city only.
Aggregations key to Montréal's 19 boroughs, not census DGUIDs, and most records are point locations needing aggregation. Field names and docs are largely French, adding to cross-city schema inconsistency.
GIS layers use HRM's own community and planning areas, not census geography, so DGUID joins need remapping. Many datasets are points or raw layers, and coverage is HRM only.
Keyed to Mississauga's 11 wards and city GIS areas, not census DGUIDs, so joins need the city's boundaries. Content is largely point/parcel GIS data, and only Mississauga is covered.
Uses Calgary's own community-district boundaries rather than census geography, so joins need remapping. 311 and permit records are points that must be aggregated, and only Calgary is covered.
ArcGIS layers key to city wards and Ottawa-specific areas, not census DGUIDs, so map joins need the city's boundaries. Much content is point data or raw GIS layers, and coverage stops at the city limit.
Beyond the big cities, ~150 mostly ArcGIS Hub portals (Surrey, London, Windsor, Kitchener, Regina, Guelph…) exist, but only larger municipalities publish at all. Each uses idiosyncratic boundaries, schemas and cadences, so census alignment and cross-city joins need bespoke per-city work.
No sources match those filters.