Foundation · 9 min read

NAICS codes for Canadian contractors: the complete construction list

A NAICS code is a six-digit number that classifies a business by its main activity, shared across Canada, the US, and Mexico. Construction is sector 23, split into three subsectors: 236 (Construction of Buildings), 237 (Heavy and Civil Engineering Construction), and 238 (Specialty Trade Contractors). One catch worth knowing up front: Canadian federal procurement on CanadaBuys matches tenders to suppliers using commodity codes (GSIN, now moving to UNSPSC), not NAICS. Your NAICS code matters for tax, statistics, and prequalification, but it is not what triggers federal tender alerts.

What a NAICS code is

NAICS code: the North American Industry Classification System code, a six-digit number that sorts a business by its primary economic activity. It is maintained in Canada by Statistics Canada and used jointly by Canada, the United States, and Mexico so industry data lines up across borders.

The code is hierarchical. Each digit narrows the category:

So a masonry contractor is in sector 23, subsector 238, group 2381, and lands on the six-digit code 238140. When someone asks for "your NAICS code," they almost always mean the six-digit one.

The current edition is NAICS Canada 2022 Version 1.0. The codes below reflect that version. Statistics Canada revises NAICS every five years, so the structure is stable, but check the current version if you are reading this years from now.

The complete construction NAICS code list (23-series)

Here is every construction code under sector 23, grouped by subsector. Find your primary activity and read across.

236: Construction of buildings

General contractors and for-sale builders putting up whole buildings, residential or non-residential.

CodeIndustry
2361Residential building construction
236110Residential building construction
2362Non-residential building construction
236210Industrial building construction
236220Commercial and institutional building construction

237: Heavy and civil engineering construction

Infrastructure work: utilities, roads, bridges, land development. Classified by the type of structure built.

CodeIndustry
2371Utility system construction
237110Water and sewage system construction
237120Oil and gas pipeline and related structures construction
237130Power and communication line and related structures construction
2372Land subdivision
237210Land subdivision
2373Highway, street and bridge construction
237310Highway, street and bridge construction
2379Other heavy and civil engineering construction
237990Other heavy and civil engineering construction

238: Specialty trade contractors

The trades. Most SMB contractors live here. Specialty trades usually work under contract to a general contractor, or directly with the owner on renovation and repair work.

CodeIndustry
2381Foundation, structure and building exterior contractors
238110Poured concrete foundation and structure contractors
238120Structural steel and precast concrete contractors
238130Framing contractors
238140Masonry contractors
238150Glass and glazing contractors
238160Roofing contractors
238170Siding contractors
238190Other foundation, structure and building exterior contractors
2382Building equipment contractors
238210Electrical contractors and other wiring installation contractors
238220Plumbing, heating and air-conditioning contractors
238290Other building equipment contractors
2383Building finishing contractors
238310Drywall and insulation contractors
238320Painting and wall covering contractors
238330Flooring contractors
238340Tile and terrazzo contractors
238350Finish carpentry contractors
238390Other building finishing contractors
2389Other specialty trade contractors
238910Site preparation contractors
238990All other specialty trade contractors

That is the full construction set. Architecture and engineering design services are not here, by the way. Those sit under sector 54 (Professional, Scientific and Technical Services), code 541330 for engineering services. NAICS classifies the contractor who builds, not the consultant who designs.

Codes are the easy part. Eligibility isn't.

Paste any Canadian tender URL. BidFit reads the mandatory criteria, scope, and deadlines and tells you if you actually qualify, in 30 seconds.

Try BidFit free →

NAICS vs GSIN vs UNSPSC: the code mix-up that costs contractors

This is the part most NAICS articles skip, and it is the part that actually matters if you bid on Canadian government work. NAICS is not the code that drives federal tender matching in Canada.

Three classification systems get confused constantly. They answer different questions:

SystemAnswersUsed for
NAICSWhat industry is this business in?Tax (CRA), statistics, some prequalification, US federal contracting
GSINWhat is this specific contract buying?Canadian federal procurement commodity matching (legacy)
UNSPSCWhat is this specific contract buying?Canadian federal procurement commodity matching (current direction)

NAICS describes who you are. GSIN and UNSPSC describe what the contract is for. When you register on CanadaBuys and set up notifications, the system matches opportunities to you using commodity codes, the GSIN system that the Government of Canada is now replacing with UNSPSC (the United Nations Standard Products and Services Code). It does not match on your NAICS code.

The practical takeaway: do not assume that picking the right NAICS code makes federal tenders show up in your inbox. On CanadaBuys, you register the GSIN or UNSPSC commodity codes that match the work you want, separately from your NAICS classification. We cover the registration mechanics in what is CanadaBuys and reading the resulting notices in how to read a CanadaBuys tender notice.

Where NAICS does drive matching: US federal contracting. If you pursue work through SAM.gov in the United States, NAICS codes are central. Buyers set a NAICS code per solicitation and small-business size standards are defined by NAICS. So a Canadian contractor bidding cross-border needs an accurate NAICS code for the US system, even though it is secondary at home.

Where your NAICS code actually gets used

NAICS still earns its keep in Canada, just not where contractors expect. The real uses:

  • Canada Revenue Agency tax filing. The CRA uses NAICS as its "industry code" on business returns. The T2125 form and corporate returns ask for the six-digit code that matches your main activity.
  • Statistics Canada. Business surveys and the Business Register classify you by NAICS. This is the system's original purpose.
  • Provincial and prequalification forms. Some provincial procurement systems, vendor-of-record applications, and general-contractor prequalification packages ask for your NAICS code as a quick industry descriptor.
  • WorkSafe and WCB classification context. Workers' compensation boards run their own classification units, but they map closely to NAICS-style industry activity, and your stated industry should be consistent across all of them.
  • US federal contracting (SAM.gov). As above, central to the US system.
  • Banking, insurance, and grant applications. Lenders, insurers, and grant programs often ask for an industry code to assess and categorize your business.

The thread running through all of these: consistency. Your NAICS code should describe the same primary activity everywhere it appears. A firm that calls itself 238140 (masonry) on its tax return and 236220 (commercial building) on a prequalification form invites questions it does not need.

How to find your NAICS code

Finding the right code takes about fifteen minutes. The order matters, because the wrong starting point sends you to a plausible-but-wrong code.

Step 1: Identify your primary activity. NAICS classifies you by the single activity that generates the most revenue, not by everything you are capable of. A firm that does 70 percent masonry and 30 percent concrete foundations is a masonry contractor for NAICS purposes. Decide what you mainly get paid for before you search.

Step 2: Search the Statistics Canada NAICS tool. Use the official Statistics Canada NAICS 2022 search. Type a keyword that matches your work (such as "roofing," "highway," or "electrical"), or browse the hierarchy starting at sector 23.

Step 3: Drill down to six digits. Move from the two-digit sector (23) to the three-digit subsector (236, 237, or 238), then the four-digit group, then the six-digit Canadian industry. Read the official definition for your candidate code. Statistics Canada lists examples of what is and is not included, which settles most edge cases.

Step 4: Cross-check the CRA industry code list. The Canada Revenue Agency publishes the same NAICS codes as industry codes for tax filing. Confirm your code appears there so your tax return and other registrations stay aligned.

Step 5: Record it, and note where procurement codes differ. Save your six-digit code for tax, statistics, and prequalification. Then, separately, identify the GSIN or UNSPSC commodity codes you will need on CanadaBuys. They are different systems for different jobs.

How to pick the right code (and handle multiple trades)

Two rules cover almost every case.

The primary-activity rule. When one code is required, use the one that matches your largest revenue line. Not your most prestigious work, not your newest service line. Whatever pays the most bills.

The secondary-code rule. Many systems let you record more than one NAICS code. A firm that genuinely splits work across trades can list a primary plus secondaries. A contractor doing both poured foundations and masonry might run 238110 primary and 238140 secondary. Use secondaries where the form allows it, but never invent a primary code that overstates what you mostly do.

If you are stuck between two codes, read both Statistics Canada definitions side by side and pick the one whose "includes" examples best match your actual jobs. When the line is genuinely blurry (say, a design-build firm that both designs and constructs), classify by where the majority of the contract value sits, and ask your accountant if it affects tax treatment.

Common mistakes

Assuming NAICS controls CanadaBuys matching. The big one. It does not. Federal commodity matching runs on GSIN, moving to UNSPSC. Set those up separately or you will miss opportunities while wondering why your "perfect" NAICS code produced silence.

Picking a three-digit or two-digit code when six is required. "23" and "238" are categories, not your code. Almost every form wants the full six-digit number. Giving a partial code reads as carelessness on a prequalification.

Choosing the most impressive code instead of the accurate one. A specialty trade firm that lists itself as a general building contractor (236) to look bigger creates a mismatch with its actual project history and tax filings. Classify what you do, not what you wish you did.

Using a US-granular code in Canada. The US splits some construction industries into more six-digit codes than Canada does (residential construction is one example). Use the NAICS Canada list above for Canadian forms, and the US list for SAM.gov. They share structure but are not identical at the most detailed level.

Your NAICS code is plumbing, not strategy. Get it right once, keep it consistent everywhere, and move on to the work that actually wins contracts. If construction tenders are your target, the real levers are bonding, certifications, and compliant bids, which we lay out in how to bid on government construction contracts in Canada. And before you commit hours to any specific tender, run it through the bid/no-bid framework and check it against the mandatory criteria.

Frequently asked questions

What is the NAICS code for a general contractor in Canada?

General building contractors fall under subsector 236, Construction of Buildings. Residential builders use 236110 (Residential building construction). Non-residential builders use 236210 (Industrial building construction) or 236220 (Commercial and institutional building construction). General contractors for heavy and civil projects fall under subsector 237 instead.

Do I need a NAICS code to bid on Canadian federal tenders?

Not for the matching itself. CanadaBuys matches opportunities to suppliers using commodity codes (the GSIN system, which the Government of Canada is replacing with UNSPSC), not NAICS. You will still encounter NAICS on CRA tax filings, Statistics Canada surveys, some provincial prequalification forms, and US federal contracting through SAM.gov. So you need a NAICS code for your business, but it is not what drives federal tender notifications in Canada.

What is the difference between NAICS and GSIN?

NAICS (North American Industry Classification System) classifies a business by its industry, using a six-digit code shared across Canada, the US, and Mexico. GSIN (Goods and Services Identification Number) classifies what is being bought in a specific Canadian federal procurement. NAICS describes who you are; GSIN describes what the contract is for. Canadian federal procurement uses GSIN, now transitioning to UNSPSC, for supplier matching, not NAICS.

What is the NAICS code for specialty trade contractors?

Specialty trades fall under subsector 238. Common six-digit codes include 238140 (Masonry contractors), 238160 (Roofing contractors), 238210 (Electrical contractors and other wiring installation contractors), 238220 (Plumbing, heating and air-conditioning contractors), 238320 (Painting and wall covering contractors), and 238910 (Site preparation contractors). The full 238 list is in the table above.

Can a contractor have more than one NAICS code?

Yes. NAICS assigns you a primary code based on your main revenue-generating activity, but many systems let you record secondary codes for other lines of work. A firm that does both masonry and concrete foundations might carry 238140 as primary and 238110 as secondary. Use your primary code where a form asks for a single code, and add secondaries where the system allows it.

How do I find my NAICS code in Canada?

Use the official Statistics Canada NAICS 2022 search tool. Type a keyword for your main activity (such as "flooring" or "highway"), or browse the construction sector under code 23, then drill down to the six-digit Canadian industry code. Cross-check it against the Canada Revenue Agency industry code list so your tax filing stays consistent.

Is the construction NAICS code 23 or 236?

Both, at different levels. 23 is the two-digit construction sector covering all construction. 236 is one of three three-digit subsectors within it (Construction of Buildings), alongside 237 (Heavy and civil engineering construction) and 238 (Specialty trade contractors). Most forms want the full six-digit code, which sits below these.

Stop bidding on jobs you can't win.

Paste any Canadian tender URL. BidFit reads the mandatory criteria, scope, and deadlines in 30 seconds.

First brief is free. No signup required. ~30 seconds.