Every column, with the exact name it carries in the file you download — plus formats, encoding, and the answers to the questions developers actually ask. Nothing here is behind a sales call.
Standard and Deluxe are a single data file. Business is a bundle — the main table plus 17 Statistics Canada reference tables, each a separate file in every format you download.
| File | What it is | Columns | Edition |
|---|---|---|---|
canada-postal-code-database-STANDARD | The main table | 8 | Standard |
canada-postal-code-database-DELUXE | The main table | 15 | Deluxe |
canada-postal-code-database-BUSINESS | The main table, with census geography resolved onto every postal code | 43 | Business |
…-SUPPLEMENT-CENSUS-DISSEMINATION-BLOCK | The smallest unit census data is published for | 27 | Business |
…-SUPPLEMENT-CENSUS-DISSEMINATION-AREA | 400–700 people each — the level most demographic joins use | 22 | Business |
…-SUPPLEMENT-CENSUS-SUBDIVISION | Municipalities and equivalents | 18 | Business |
…-SUPPLEMENT-DISSEMINATION-GEOGRAPHIES-RELATIONSHIP-FILE | Master crosswalk linking every census level by DGUID | 16 | Business |
…-SUPPLEMENT-POPULATION-CENTRE | Urban cores and rural definitions | 13 | Business |
…-SUPPLEMENT-CENSUS-TRACT | Stable neighbourhoods in larger centres | 10 | Business |
…-SUPPLEMENT-CENSUS-CONSOLIDATED-SUBDIVISION | Adjacent subdivisions grouped into one statistical unit | 9 | Business |
…-SUPPLEMENT-STREET | Alternate and obsolete street names | 8 | Business |
…-SUPPLEMENT-FEDERAL-ELECTORAL-DISTRICT | All current federal ridings, English and French names | 8 | Business |
…-SUPPLEMENT-CENSUS-METROPOLITANAREAS | CMAs and Census Agglomerations | 8 | Business |
…-SUPPLEMENT-PROVINCE | All 13 provinces and territories, bilingual names | 8 | Business |
…-SUPPLEMENT-CENSUS-DIVISION | Regional districts, counties and equivalents | 7 | Business |
…-SUPPLEMENT-MUNICIPALITY | Alternate municipality names mapped to the official one | 7 | Business |
…-SUPPLEMENT-DESIGNATED-PLACE | Places recognised by Statistics Canada with no municipal government | 7 | Business |
…-SUPPLEMENT-ECONOMIC-REGION | Census Divisions grouped by economic character | 6 | Business |
…-SUPPLEMENT-AGGREGATE-DISSEMINATION-AREAS | DAs grouped where populations are too small to publish | 5 | Business |
…-SUPPLEMENT-ACCENT | French accented names mapped to their unaccented form, both ways | 3 | Business |
The supplements are reference tables, not extracts. The main table carries the
UID for each census geography; the supplement carries everything else about it.
Join on the UID — CensusDisseminationAreaUID to the dissemination area
file, FederalElectoralDistrictUID to the riding file, and so on. In Access
they arrive as PostalCodeSupplement_… tables.
Business totals 228 columns across 18 files — 46 in the main table and 182 across the supplements — and about 1.1 million supplemental rows. Every edition also includes the specification PDF. Column counts measured from the shipped Business bundle; the CSV names are listed here and the same data ships as Access and Excel.
Every column in the download, with the exact name as it appears in the file header, and the type from the specification sheet that ships with it. 8 in Standard, 18 in Deluxe, 46 in Business.
Every UID column is text, not a number. Census and electoral identifiers
carry significant leading zeros — 001 is not 1 —
and CensusTractName also has trailing zeros after a decimal point.
Import them as character columns; letting a spreadsheet or an ORM guess
“integer” silently destroys the code. Columns where this bites are marked
leading zeros below.
Population and Dwellings are FSA-level. They are Statistics Canada counts for
the Forward Sortation Area — the first three characters — so every postal
code sharing an FSA carries the same pair of numbers. The census geography
columns are different: those resolve to the individual six-character code. For
small-area population, join CensusDisseminationAreaUID to the
dissemination area table in the Business bundle rather than summing
Population.
| Column name | Description | Type | Standard | Deluxe | Business |
|---|---|---|---|---|---|
| Core Geographic 9 fields | 7 | 9 | 9 | ||
PostalCode | The Postal Code of the record.Example: M4M 0C1 | Char(7) | |||
City | The name of the city, town or village of the Postal Code.Example: HARE BAY BB | VarChar(45) | |||
CityMixedCase | The name of the city, town or village of the Postal Code in Mixed Case format.Example: Valley Pond | VarChar(45) | |||
Province | The two-letter abbreviation for the province to that Postal Code.Example: SK | Char(2) | |||
ProvinceName | The name of the province to that Postal Code.Example: Saskatchewan | VarChar(45) | — | ||
Latitude | Geographic coordinate measured in degrees north or south of the equator.Example: 43.7173160000 | Decimal | |||
Longitude | Geographic coordinate measured in degrees east or west of the Greenwich Meridian.Example: -53.5755900000 | Decimal | |||
Elevation | Average elevation of the Postal Code in meters.Example: 17 | Integer | — | ||
AreaCode | The telephone area code for this Postal Code.Example: 709 | VarChar(3) | |||
| Record Type, Time & Classification 8 fields Business adds 1 | 1 | 7 | 8 | ||
RecordType | Defines the type of Postal Code.Values: 1 street address · 2 street, route or general delivery · 3 lock box · 4 route service · 5 general delivery | Char(1) | |||
AddressType | A code denoting whether an address is in the form of a civic address or in the form of a delivery installation address.Values: 1 civic address · 2 delivery installation address | Char(1) | — | — | |
CityFlag | Yes/No flag indicating if the Postal Code is marked as a general delivery address.Values: Y / N | Char(1) | — | ||
TimeZone | The time Zone Number for which this Postal Code belongs to.Example: 6 | Integer | — | ||
DST | Indicates whether they observe Day Light Savings Time.Values: Y / N | Char(1) | — | ||
DSTBehavior | Classifies how the location handles daylight saving time: SEASONAL, STANDARD_ONLY, PERMANENT_DSTExample: STANDARD_ONLY | VarChar(16) | — | ||
UTCOffsetStandard | The UTC offset actually observed at the location during the winter half of the year, in decimal hours.Example: -5.0 | Decimal(3,1) | — | ||
UTCOffsetSummer | The UTC offset actually observed at the location during the daylight-saving period (second Sunday of March to first Sunday of November).Example: -4.0 | Decimal(3,1) | — | ||
| Census counts — FSA level 2 fields | 0 | 2 | 2 | ||
Population | Statistics Canada population count for the Forward Sortation Area — the first three characters of the postal code, not the individual code.Example: 25052 | Integer | — | ||
Dwellings | Statistics Canada total private dwellings for the Forward Sortation Area, on the same basis as Population.Example: 6471 | Integer | — | ||
| Address & Street Detail 8 fields Business adds 8 | 0 | 0 | 8 | ||
StreetName | The official civic name of a roadway or artery as recognized by Canada Post.Example: KILGOUR | VarChar(45) | — | — | |
StreetnameMixedCase | The official civic name of a roadway or artery as recognized by Canada Post, in mixed case letters (not all uppercase).Example: Rte 201 | VarChar(45) | — | — | |
StreetTypeCode | Official description used to identify the type of road or artery.Example: LANE | VarChar(6) | — | — | |
StreetDirCode | The street direction component of an official street name.Example: E | VarChar(2) | — | — | |
StreetSuffix | The address suffix associated with the street address from number.Example: A | VarChar(3) | — | — | |
AreaName | Major community name or greater municipality grouping that contains the street address or its delivery installation as recognized by the Canada Post.Example: HARE BAY BB | VarChar(45) | — | — | |
AreaNameMixedCase | Major community name or greater municipality grouping that contains the street address or its delivery installation as recognized by the Canada Post in Mixed Case format.Example: Valley Pond | VarChar(45) | — | — | |
MunicipalityName | The name of the municipality this Postal Code is in.Example: HARE BAY BB | VarChar(45) | — | — | |
| Statistics Canada Census Geography 11 fields Business adds 11 | 0 | 0 | 11 | ||
CensusMetropolitanAreaUID | leading zerosUniquely identifies a census metropolitan area.Example: 015 | VarChar(3) | — | — | |
CensusMetropolitanAreaName | Census metropolitan area name.Example: St. John's | VarChar(100) | — | — | |
CensusDivisionUID | Uniquely identifies a census division (composed of the 2-digit province/territory unique identifier followed by the 2-digit census division code).Example: 1002 | VarChar(45) | — | — | |
CensusDivisionName | Census division name.Example: Division No. 1 | VarChar(255) | — | — | |
CensusSubDivisionUID | Uniquely identifies a census subdivision (composed of the 2-digit province/territory unique identifier followed by the 2-digit census division code and the 3-digit census subdivision code).Example: 1001446 | VarChar(7) | — | — | |
CensusSubDivisionName | Census subdivision name.Example: Bay de Verde | VarChar(255) | — | — | |
CensusConsolidatedSubdivisionUID | Uniquely identifies a census consolidated subdivision (composed of the 2-digit province/territory unique identifier followed by the 2-digit census division code and the 3-digit census consolidated subdivision code).Example: 1009001 | VarChar(7) | — | — | |
CensusConsolidatedSubdivisionName | Census consolidated subdivision name.Example: Division No. 2, Subd. E | VarChar(255) | — | — | |
CensusTractUID | leading zerosUniquely identifies a census tract within a census metropolitan area/census agglomeration (composed of the 3-digit census metropolitan area/census agglomeration unique identifier followed by the 7.2-character census tract name).Example: 5350010.01 | VarChar(10) | — | — | |
CensusTractName | leading zerosEvery census tract is assigned a 7.2-character numeric 'name' (including leading zeros, a decimal point and trailing zeros).Example: 0136.02 | VarChar(255) | — | — | |
CensusDisseminationAreaUID | Uniquely identifies a dissemination area — 400–700 people, the smallest area all census data is published for, and the level most demographic joins should use.Example: 10010499 | VarChar(8) | — | — | |
| Electoral, Economic & Settlement Areas 8 fields Business adds 8 | 0 | 0 | 8 | ||
FederalElectoralDistrictUID | Uniquely identifies a federal electoral district (composed of the 2-digit province/territory unique identifier followed by the 3-digit federal electoral district code).Example: 35081 | VarChar(5) | — | — | |
FederalElectoralDistrictName | Federal electoral district name.Example: University--Rosedale | VarChar(255) | — | — | |
EconomicRegionUID | Uniquely identifies an economic region (composed of the 2-digit province/territory unique identifier followed by the 2-digit economic region code).Example: 4730 | VarChar(4) | — | — | |
EconomicRegionName | Economic region name.Example: Saskatoon--Biggar | VarChar(255) | — | — | |
PopulationCentreUID | leading zerosUniquely identifies a population centreExample: 0509 | VarChar(4) | — | — | |
PopulationCentreName | Population centre nameExample: Grand Bank | VarChar(255) | — | — | |
DesignatedPlaceUID | Uniquely identifies a designated place (composed of the 2-digit province or territory unique identifier followed by the 4-digit designated place code)Example: 100163 | VarChar(6) | — | — | |
DesignatedPlaceName | Designated place nameExample: Island Harbour | VarChar(255) | — | — | |
Column names are reproduced exactly as they appear in the CSV, Excel and Access files, and types are taken from the specification sheet included with every download. Examples are real values from the shipped file. Business additionally ships 17 supplemental tables carrying a further 182 columns.
The same rows and the same columns in three formats. Pick whichever drops into your stack with least effort — nothing is held back from any of them. There is no pre-built SQL script for the Canadian data; import the CSV, which every engine does natively.
, comma" double quote — every field is quoted,
not only the ones containing a commaCRLF (\r\n)"", never the word NULL.xls.xls
limit, so the main table ships split across 14 numbered workbooks —
…-01.xls through …-14.xls.mdbPostalCodeSupplement_…All three formats carry identical data. Business is much larger than the other two in every format because it also carries the 17 supplemental tables.
Québec and Saint-André arrive as written.Québec
becomes Qu??bec.CensusMetropolitanAreaUID, PopulationCentreUID,
CensusTractUID and CensusTractName all carry significant
leading zeros. 001 is not 1.CensusTractName also carries trailing zeros after a decimal
point — 0100.03 is a name, not a number.PostalCode is the key of the main table.PopulationCentreUID — an empty
value there is how you tell urban from rural.CensusTractUID is empty
elsewhere by design, not by omission.NULL, in all three formats.Population and Dwellings repeat across every postal code
in an FSA. That is not duplication — it is the level the count is published at.LOAD DATA LOCAL INFILE 'canada-postal-code-database-BUSINESS.csv' INTO TABLE PostalCodes CHARACTER SET latin1 FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\r\n' IGNORE 1 ROWS;COPY PostalCodes FROM '/path/to/canada-postal-code-database-BUSINESS.csv' WITH (FORMAT csv, HEADER true, ENCODING 'WIN1252');BULK INSERT PostalCodes FROM 'C:\path\to\canada-postal-code-database-BUSINESS.csv' WITH (FORMAT='CSV', FIRSTROW=2, FIELDTERMINATOR=',', ROWTERMINATOR='0x0d0a', CODEPAGE='1252');VARCHAR, not INT.Real records from the production file — not mock data. Each sample carries all three formats plus that edition’s specification sheet, so you can test the one you actually intend to use. No email required.
8 columns · 1,500 records
Postal code, city, province, coordinates, telephone area code, mixed-case city name and record type.
CSV · Excel · Access
Download sample 205 KB18 columns · 1,500 records
Everything in Standard, plus full province name, time zone and DST, elevation, the city-type flag, and FSA-level population and dwellings.
CSV · Excel · Access
Download sample 262 KB46 columns · 1,692 records
Everything in Deluxe, plus street and address detail and the full census geography — and all 17 supplemental tables, cut to the rows these 1,500 postal codes reference so every join in the sample resolves.
CSV · Excel · Access
Download sample 2.8 MBSizes measured from the files themselves. All three samples are the same 1,500 postal codes — Toronto, Saskatoon, rural Newfoundland and Yukon — so you can lay the editions side by side and see exactly which columns each one adds. That spread is deliberate: it covers four time zones, both halves of the daylight-saving classification, and the half-hour Newfoundland offset. Column counts are the full counts for each edition — see the data dictionary for every name and type.
29 real questions from developers, DBAs and GIS teams working with this data. We have been answering them since 2003, so these are the ones that come up again and again — how the three editions differ, how the 17 census tables join back to the main file, and what to watch for when a postal code spans more than one province or census division. Answers, not marketing.
The Canadian Postal Code Database is a comprehensive electronic dataset containing all valid postal codes across Canada, enhanced with geographic coordinates, census linkages, and demographic data. The database includes approximately 900,000 postal codes covering urban, suburban, and rural areas nationwide.
Unlike raw Canada Post postal code files, our database adds significant value through latitude/longitude coordinates, Statistics Canada census geography integration, multiple delivery formats (Access, Excel, CSV), and monthly updates to ensure accuracy. The database supports address validation, geocoding, territory mapping, demographic analysis, and CRM/ERP system integration.
Each edition is designed for different use cases and organizational needs:
| Feature | Standard (8 fields) | Deluxe (18 fields) | Business (46 fields) |
|---|---|---|---|
| Core Data | Postal code, city, province, area code, lat/lon | Adds province name, timezone, DST, elevation, FSA population/dwellings | Adds full address components, PCCF census linkage, all geographic identifiers |
| Census Integration | None | FSA-level population statistics | Complete PCCF linkage: CMA, CSD, DA, DB, tract, FED, economic regions, etc. |
| Supplemental Tables | None | None | 17 tables including municipality cross-reference, accent supplement, street supplement, and all census geography tables |
| Address Components | City name only | City name only | Area name, street name, street type, direction, suffix, municipality |
| Best For | Basic lookups, simple validation | Operational systems, timezone routing, call center applications | GIS integration, market analysis, demographic segmentation, territory planning |
Our database enhances Canada Post postal code data with valuable additions not available in raw Canada Post files:
Our database is optimized for database integration with normalized fields, comprehensive documentation, and technical support, making it ideal for organizations needing postal code data in production systems without the complexity of managing raw Canada Post files.
All three formats are included with every purchase for the full 12-month license term:
All formats contain identical data and are updated simultaneously each month. You can use different formats for different purposes throughout your license term without additional cost.
The database contains approximately 900,000 active postal codes covering all Canadian provinces and territories. This includes:
The database is updated monthly to reflect new postal codes added by Canada Post, retired postal codes, and changes to existing records. Each monthly update typically includes several thousand additions, deletions, and modifications.
Canadian postal codes are assigned to different address types based on delivery method:
| Postal Code Type | Description | Geographic Representation |
|---|---|---|
| Civic Address | Standard street addresses in urban and suburban areas (e.g., 123 Main St) | Specific street location; coordinates represent actual delivery point or street segment centroid |
| Rural Route (RR/SS/MR) | Rural Route, Suburban Service, or Mobile Route addresses serving areas without civic addressing | Service area centroid; coordinates represent approximate center of route coverage area |
| PO Box / Lock Box | Post Office Box addresses at postal facilities | Post office location; coordinates represent the postal facility, not individual box holder addresses |
| General Delivery | Mail held at post office for pickup in areas without home delivery | Post office location serving the general delivery area |
| Large Volume Receiver | Unique postal codes assigned to high-volume mail recipients (government, institutions) | Actual building or facility location |
The RecordType field in all editions indicates the postal code type, allowing you to filter or handle different address types appropriately in your applications.
Coordinates are derived from multiple validated sources and provide FSA-level accuracy with street-level precision in urban areas where data is available. Typical accuracy ranges from 50-500 meters depending on postal code type, with urban civic addresses being most precise.
Accuracy by postal code type:
Rural routes and PO Boxes represent approximate service area centroids rather than exact delivery points, as these postal codes serve geographic areas or postal facilities rather than specific street locations.
Coordinates are continuously validated and improved based on user feedback and cross-referencing with authoritative geographic sources. Coverage is approximately 99% of all postal codes, with the highest precision in urban centers.
Coordinate differences between data providers are common and result from several factors:
For most applications (territory mapping, demographic analysis, proximity searches), differences of 100-500 meters are acceptable and do not impact results. If your application requires higher precision for specific postal codes, see the next FAQ for improvement strategies.
Several strategies can help you work effectively with postal code coordinates and improve accuracy where needed:
Validation and Quality Control:
System Design Considerations:
The Forward Sortation Area (FSA) is the first three characters of a Canadian postal code (e.g., "K2G" in "K2G 0P7"). It represents a broader geographic region used by Canada Post for mail sorting and routing.
Key Differences:
| Characteristic | FSA (First 3 Characters) | Full Postal Code (6 Characters) |
|---|---|---|
| Format | ANA (e.g., K2G) | ANA NAN (e.g., K2G 0P7) |
| Geographic Coverage | Broad area (neighborhood, district, or rural region) | Specific street segment, building, or delivery installation |
| Number of Addresses | Hundreds to thousands of addresses | Typically 10-20 addresses (up to several hundred for large buildings) |
| Total Count in Canada | ~1,643 FSAs | ~900,000 full postal codes |
| Typical Use | Market segmentation, demographic analysis, territory definition | Address validation, precise delivery, geocoding |
FSA Structure: The first character indicates province or region (e.g., K=Eastern Ontario, M=Toronto, V=British Columbia). The second character indicates urban (0) or rural (1-9). The third character defines a specific area within that region.
The Deluxe and Business editions include FSA-level population and dwelling counts from Statistics Canada, making FSA analysis useful for demographic profiling without requiring full postal code precision.
The database is updated monthly, with 12 updates included during your license term. Updates are typically released during the first week of each month and reflect changes from Canada Post as of the previous month's end.
Each monthly update includes:
Updates are provided as complete database files in all three formats (Access, Excel, CSV). We do not provide delta/change-only files; each monthly release is a full replacement dataset.
Yes, all postal codes in the database are validated against Canada Post's official postal code data and represent currently deliverable addresses. Our monthly update process ensures:
However, it's important to understand the scope of validation:
For complete address validation (verifying both postal code and civic address correctness), you should integrate the database with address validation logic that checks street number ranges, street names, and municipality consistency.
These three columns were added in July 2026 to Deluxe and Business. They exist because the two fields that came before them cannot answer the question people actually ask.
TimeZone tells you which zone a postal code is in.
DST tells you whether the clock moves there. Neither tells you
what the offset is — and that is what you need to convert a
timestamp, schedule a delivery window, or stamp a record with local time. The
three new columns give you the resolved answer for both halves of the year.
The three values of DSTBehavior:
SEASONAL — the clock moves. The summer offset is one
hour ahead of the standard offset. This is most of Canada.STANDARD_ONLY — the clock never moves. Both offsets are
the same value, and that value is the location’s standard time.PERMANENT_DST — the clock never moves, but the fixed
offset is the one the location used to observe in summer. Several Canadian
jurisdictions have legislation of this kind at various stages, not all of it in
force, so treat membership of this category as something to read from the file
rather than to assume from the news.Why the offsets are decimals and not integers. Newfoundland is
-3.5 / -2.5 — UTC−3:30 in winter and
UTC−2:30 in summer. It is the reason the columns are declared
Decimal(3,1). Rounding them to whole hours, or reading them into an
integer column, puts every Newfoundland record thirty minutes wrong.
Worked examples, all real records from the current file:
| Postal code | Place | DSTBehavior |
Standard | Summer | Why it is interesting |
|---|---|---|---|---|---|
M5H | Toronto, ON | SEASONAL | −5.0 | −4.0 | The ordinary case — Eastern, clocks move |
R3C | Winnipeg, MB | SEASONAL | −6.0 | −5.0 | Central, clocks move |
S7K | Saskatoon, SK | STANDARD_ONLY | −6.0 | −6.0 | Saskatchewan does not observe daylight saving at all |
A1C | St. John’s, NL | SEASONAL | −3.5 | −2.5 | The half-hour zone |
A2V | Labrador City, NL | SEASONAL | −4.0 | −3.0 | Same province as St. John’s, different zone — most of Labrador is on Atlantic time |
Y1A | Whitehorse, YT | STANDARD_ONLY | −7.0 | −7.0 | Yukon stopped changing its clocks in 2020 |
P9N | Kenora, ON | SEASONAL | −6.0 | −5.0 | Ontario, but Central — the province spans two zones |
G0G 0B8 | Blanc-Sablon, QC | STANDARD_ONLY | −4.0 | −4.0 | Quebec, but Atlantic standard year-round — and the
rest of G0G is not |
X0C 0A2 | Coral Harbour, NU | STANDARD_ONLY | −5.0 | −5.0 | Nunavut’s one community that does not change its
clocks — its neighbours in X0C do |
Rules you can rely on:
UTC + offset.DSTBehavior is SEASONAL,
UTCOffsetSummer is always exactly one hour ahead of
UTCOffsetStandard.SEASONAL, the two offsets are equal — so
code that always reads the right column for the date is correct everywhere and
needs no special case.Province. Four of the nine examples above are places where the
province is the wrong unit — Newfoundland spans two zones, Ontario spans
two, Quebec contains communities that opt out of daylight saving, and Nunavut
contains one. Saskatchewan has a border city that follows its neighbour instead.
The fields are published per postal code precisely because the province-level
shortcut is wrong often enough to matter — and, as the last two rows show,
so is the FSA-level one.
These columns describe the location, not an instant. To stamp a particular timestamp you still choose which of the two offsets applies based on the date — the file tells you what both of them are, and whether the choice matters at all.
Yes, the database includes bilingual naming support for Canadian locations, particularly important for Quebec and officially bilingual regions:
Standard and Deluxe Editions:
Business Edition (Additional Bilingual Support):
The accent handling allows applications to perform searches using either accented or unaccented input while maintaining proper display formatting.
Canada Post publishes its place and street names without
accents, so that is how they are stored — MONTREAL, not
MONTRÉAL. Accents are handled in three places instead:
All Editions:
CityMixedCase (all
editions) and the address component fields (Business) carry proper capitalisation
— Montreal rather than MONTREALBusiness Edition (Enhanced Accent Support):
The Accent Supplement Table (8,315 records) provides explicit mappings between unaccented and accented name variations using special character codes:
| Accent Code | Character | Example |
|---|---|---|
| $ | Â | $ME ? ÂME |
| * | É | *COLE ? ÉCOLE |
| % | Ê | FOR%T ? FORÊT |
| < | Ç | FRAN<AIS ? FRANÇAIS |
| @ | Î | @LE ? ÎLE |
| ; | Ü | M;LLER ? MÜLLER |
This supplement enables fuzzy matching and search normalization, allowing users to find locations whether they type "Montreal" or "Montréal", "Quebec" or "Québec".
The Municipality Cross-Reference Table (8,126 records, Business edition only) maps alternate, abbreviated, or historical municipality names to their current official Canada Post designations.
Use Cases:
Table Structure:
| Field | Description | Example |
|---|---|---|
| Alternate Name | Historical, abbreviated, or regional name variant | Milliken |
| Municipality Name | Official Canada Post municipality name | Markham |
| Type of Alternate | Classification of alternate name type | Historical / Abbreviation / Regional |
| Valid Flag | Indicates if alternate name is currently valid | V = Valid, I = Invalid/Historical |
| FSA | Associated Forward Sortation Area | L3R |
The Valid Flag allows you to distinguish between current alternate names (which may appear on official documents) and purely historical names (useful for data archaeology but not current validation).
The Postal Code Conversion File (PCCF) is Statistics Canada's linkage file that connects postal codes to census geographic areas. It enables demographic and socioeconomic analysis by allowing you to attach census data to postal code records.
Our Business Edition Provides PCCF-Equivalent Linkage:
Unlike Statistics Canada's separate PCCF file (which requires complex joins and technical expertise), our Business edition includes census geography linkages pre-integrated directly into each postal code record. This provides the same analytical capability as PCCF without separate file management, complex joins, or additional licensing. Census geographies are already integrated into each postal code record, ready for immediate analysis.
Linked Census Geographies (Business Edition):
Practical Applications:
The Business edition includes comprehensive census geography integration with 46 core fields in the main postal code table plus 17 supplemental reference tables.
Census Geography Fields (UIDs and Names):
Each postal code record includes both the unique identifier (UID) and descriptive name for the following census geographies:
| Geography Level | Description | Typical Use |
|---|---|---|
| Census Metropolitan Area | Major urban centers (100,000+) and surrounding municipalities | Metro market analysis, urban planning |
| Census Division | Counties, regional districts, or provincial equivalents | Regional reporting, service area definition |
| Census Subdivision | Municipalities (cities, towns, villages) and Indian reserves | Municipal-level analysis, local government reporting |
| Dissemination Area | Small, stable areas (~400-700 people); smallest standard geography | Micro-market analysis, neighborhood profiling |
| Census Tract | Neighborhoods in large CMAs (~2,500-8,000 people) | Neighborhood analysis in major cities |
| Federal Electoral District | Parliamentary constituencies (338 ridings) | Political analysis, government constituent services |
| Economic Region | Groups of census divisions with similar economic characteristics | Economic development planning, labor market analysis |
Additional Geographic Fields:
All census geography fields include both UID (unique identifier for database joins) and descriptive names (for reporting and display), eliminating the need for separate reference table lookups in most applications.
The Business edition eliminates the need for manual linkage - census geographies are already integrated into each postal code record. However, understanding the methodology helps you use the data effectively:
Pre-Linked in Database (Business Edition):
Each postal code record includes census geography UIDs (unique identifiers) and names in dedicated fields. Simply query the postal code to retrieve its associated census geographies:
-- Example: Find census data for a specific postal code
SELECT
PostalCode,
CensusMetropolitanAreaName,
CensusDivisionName,
CensusSubdivisionName,
CensusDisseminationAreaUID
FROM PostalCodes
WHERE PostalCode = 'K2G0P7';
Joining to Statistics Canada Census Profiles:
Once you have the census geography UID from a postal code, join it to Statistics Canada's census profile data using the UID as the key:
-- Example: Link postal codes to census demographic data
SELECT
pc.PostalCode,
pc.City,
pc.CensusDisseminationAreaUID,
census.TotalPopulation,
census.MedianHouseholdIncome,
census.PercentUniversityDegree
FROM PostalCodes pc
LEFT JOIN CensusProfiles census
ON pc.CensusDisseminationAreaUID = census.DAUID
WHERE pc.Province = 'ON';
Using Supplemental Geography Tables:
The Business edition includes 17 supplemental tables with complete census geography reference data. These tables provide additional attributes beyond what's in the postal code records, such as Population Centre classifications, Federal Electoral District names in English and French, and hierarchical linkage files showing how different census geographies nest within each other.
Yes, the Business edition's census geography linkage is specifically designed to enable demographic data appending. Here's how:
Method 1: Use Census Geography UIDs (Recommended)
Join postal code records to Statistics Canada census profile data using the census geography UID fields:
Available Demographic Data from Census:
Common Applications:
Two license types are available based on how you intend to use the database:
Regular Licenses (Internal Use):
Redistribution Licenses (External Distribution):
User Count Guidelines:
A "user" is any individual who accesses the database directly or indirectly through an application or system. Count all employees, contractors, or API consumers who interact with postal code data derived from the database.
| Tier | User Count | Typical Organization |
|---|---|---|
| 1-5 Users | 1 to 5 individuals | Small businesses, departments, consultants |
| 6-50 Users | 6 to 50 individuals | Medium businesses, regional operations |
| 51+ Users (Enterprise) | 51 or more individuals | Large organizations, enterprise deployments |
The key distinction is whether data leaves your organization:
| Scenario | License Type | Explanation |
|---|---|---|
| Internal CRM system used by 25 employees | Regular (6-50 users) | Data stays within your organization |
| Address validation on public website (10,000 visitors/month) | Redistribution (51+ end users) | External users access postal code data |
| SaaS product embedding postal code lookups for customers | Redistribution | Customers receive data through your product |
| Consulting firm providing postal code analysis to 3 clients | Redistribution (1-5 end users) | Clients receive postal code data as part of deliverable |
| Internal database accessed by 100 employees via reporting tools | Regular (51+ users) | High user count but all internal |
Redistribution Indicators (Requires Redistribution License):
Regular License Use (No Redistribution):
Yes, Regular licenses are available in 1-year, 2-year, or 3-year terms with significant volume discounts. Redistribution licenses are 1-year only.
Multi-Year Benefits:
Sample Pricing Comparison (Business Edition, 1-5 Users):
| Term | Price (USD) | Annual Cost | Savings vs. Annual |
|---|---|---|---|
| 1 Year | $499.95 | $499.95/year | - |
| 2 Years | $899.91 | $449.96/year | 10% discount |
| 3 Years | $1,349.87 | $449.96/year | 10% discount (avg) |
Multi-Year License Details:
Each edition includes a progressively expanded field set designed for different use cases. Here are the key fields for each edition:
Standard Edition (8 fields):
PostalCode, City, Province, AreaCode, Latitude, Longitude, CityMixedCase, RecordType
Deluxe Edition (18 fields) - Adds:
ProvinceName, CityFlag, TimeZone, DST, Elevation, Population (FSA-level), Dwellings (FSA-level)
Business Edition (46 fields) - Adds 28 additional fields including:
For every column with its type and edition availability, see the data dictionary above.
Yes, the database integrates easily with most address validation systems, CRM platforms, ERP systems, and custom applications. Standard formats (CSV, Excel, Access) ensure compatibility with virtually any technology stack.
Compatible Platforms and Systems:
Integration Use Cases:
The Business edition includes 17 supplemental reference tables providing cross-reference data, census geography details, and alternate name mappings. These tables enhance the main postal code dataset and enable advanced address validation and demographic analysis.
Cross-Reference & Supplemental Data Tables (3 tables):
Census Geography Reference Tables (11 tables):
Geographic Reference & Relationship Tables (3 tables):
Yes, all postal code types are included in the database: urban civic addresses, rural route addresses (RR/SS/MR), Post Office Box addresses, general delivery addresses, and Large Volume Receiver addresses.
The RecordType field identifies the postal code type, allowing you to filter or handle different address types appropriately in your applications.
Implications for Applications:
Use the RecordType and AddressType fields (Business edition) to implement appropriate logic for different postal code types in your address validation and geocoding workflows.
Monthly updates are delivered through your online account with multiple access options:
Standard Delivery (All Customers):
FTP Access (Optional):
Customers can request FTP access for automated monthly retrieval. FTP credentials and directory paths are provided upon request, allowing you to configure automated pull scripts.
Download Specifications:
Technical Support: If you experience download issues or need alternative delivery arrangements, contact info@zip-codes.com or call 1-800-425-1169 for assistance.
Yes, you receive email notifications when each monthly update is released. Notifications are sent to the email address associated with your account.
Email Notification Content:
Managing Notifications:
Notification Timing:
Emails are typically sent within 24 hours of the update being posted to your account, usually during the first week of each month.
Yes, FTP access is available upon request for automated monthly retrieval. FTP is particularly useful for organizations with automated data pipelines or those who want to eliminate manual download steps.
FTP Access Details:
FTP Configuration:
Upon approval, you'll receive FTP server address, username & password, directory path, and connection details (typically FTP port 21 or SFTP port 22).
Automated Pull Setup:
Customers configure their own FTP clients or automated scripts to pull updates on their preferred schedule. Files are posted to your FTP directory during the first week of each month (typically by the 5th). All three formats (Access, Excel, CSV) are available, and previous months' files remain accessible throughout your license term.
Customer Responsibility:
For assistance configuring FTP access or troubleshooting connection issues, contact our technical support team at info@zip-codes.com.
Still have a question? Call 1-800-425-1169 or email info@zip-codes.com — a person answers.
View pricing & editions Download a sample first