How It WorksFeaturesPricingPortalsEnterprise
Compare
vs GovWin IQ$7K–$45K/yrvs BidSync$1.2K–$3.6K/yrvs EZGovOpps$4.7K–$6K/yrvs BidNet$2K–$4K/yrvs MERXCAD onlyAll comparisons →
Get Started Free →Sign In
14-day free trial · No card required
HomeBlogFederal Contracting
Federal Contracting11 min read·Mar 26, 2025

NAICS Codes for Government Contracting — Complete Guide (2025)

Your NAICS codes determine which federal contracts you can win, your small business size standard, and whether you qualify for set-asides. Here's how to choose them strategically.

2,400+
NAICS codes used in federal government procurement

NAICS codes are the most important technical decision in your federal contracting profile — and the one most contractors get partially wrong. Your NAICS codes determine which contracts you see, which set-asides you're eligible for, what your small business size standard is, and how contracting officers find you for sole-source awards. A contractor with the wrong NAICS codes registered is invisible to buyers who are actively looking for exactly what they offer. This guide tells you how to get it right.

In this guide
  1. What are NAICS codes and why they matter in contracting
  2. How NAICS codes are structured
  3. NAICS codes and small business size standards
  4. How to find the right NAICS codes for your business
  5. Primary vs secondary NAICS codes — the strategic difference
  6. NAICS codes and set-aside eligibility
  7. The highest-spending federal NAICS codes
  8. NAICS codes in SAM.gov — what to register
  9. NAICS codes in state procurement
  10. How to update your NAICS codes
  11. FAQ

What are NAICS codes and why they matter in contracting

NAICS stands for North American Industry Classification System. It's the standard used by the US federal government — and shared with Canada and Mexico — to classify business establishments by their primary economic activity. Every federal contract opportunity on SAM.gov is assigned a NAICS code that classifies the type of work being procured. Every business registered in SAM.gov has a primary NAICS code that determines their size standard eligibility.

In government contracting, NAICS codes perform three critical functions. First, they determine your small business status — whether you meet the SBA's size standard for a given contract. Second, they're how contracting officers classify solicitations and how vendors filter opportunities on SAM.gov. Third, they're how contracting officers search for vendors when considering sole-source awards — an officer looking for a systems integrator will search NAICS 541512 in SAM.gov and contact matching vendors. If you're not registered under the right codes, you're invisible in that search.

2,400+
NAICS codes in the classification system
20
NAICS sectors covering all industry
6
Digits in a full NAICS code
$750B+
Annual federal procurement classified by NAICS

How NAICS codes are structured

NAICS codes are 6-digit codes organized in a hierarchical structure from broad to specific. The first two digits identify the sector (e.g., 54 = Professional, Scientific, and Technical Services). The third digit adds a subsector (e.g., 541 = Professional, Scientific, and Technical Services — same as sector for this example). The fourth digit adds an industry group (e.g., 5415 = Computer Systems Design and Related Services). The fifth digit adds a specific industry (e.g., 54151 = Computer Systems Design Services). The sixth digit provides US-specific detail (e.g., 541512 = Computer Systems Design Services — the specific code used in federal procurement).

Understanding this hierarchy matters for contracting strategy. When a solicitation is posted under NAICS 541512, searching SAM.gov for that exact code returns it. Searching for 54151 or 5415 does not — the search requires the exact 6-digit code. This is why broad NAICS codes registered in your SAM.gov profile don't substitute for the specific 6-digit codes — they're different classifications.

NAICS codes and small business size standards

The SBA assigns a size standard to every NAICS code — the maximum revenue or employee count that qualifies a business as 'small' for that code. Size standards vary enormously: from $1M annual revenue for some niche service categories to $47M for others, and from 100 employees to 1,500 employees for manufacturing codes. A business can simultaneously be a small business under one NAICS code and a large business under another.

Your size status is evaluated against the NAICS code assigned to each specific contract — not just your primary NAICS code. This is a crucial distinction. If a solicitation is assigned NAICS 236220 (Commercial Building Construction, 1,500 employee standard), and you have 300 employees, you qualify as a small business for that contract — even if you're above the size standard for your primary NAICS code of 541512 (Computer Systems Design, $34M revenue standard).

📊
Size is calculated on average, not current snapshot

Revenue-based size standards use your average annual receipts over the past 3 fiscal years — not your most recent year's revenue. Employee-based standards use your average headcount over the past 12 months. A business that had a $45M year followed by two $25M years has a 3-year average of $31.7M — below the $34M threshold for NAICS 541512. If you're near a size standard boundary, calculate your 3-year average precisely before self-certifying as a small business.

Revenue vs employee size standards

Most service industry NAICS codes use revenue-based size standards. Most manufacturing, mining, and wholesale trade codes use employee-based standards. For revenue-based codes, the SBA counts 'annual receipts' — your total income as reported on your tax returns, including affiliates. For employee-based codes, the SBA counts all employees (full-time and part-time) of your business and affiliates over the past 12 months.

Affiliation rules are the most commonly misunderstood aspect of size standards. If another company owns or controls your business — or if you own or control another company — those businesses may be affiliated, and their revenue or employees must be counted together with yours for size purposes. Common affiliation triggers include shared ownership above 50%, shared management or key personnel, and economic dependence (one business relying on the other for most of its revenue).

How to find the right NAICS codes for your business

Finding the right NAICS codes requires both a top-down search (starting from your industry description and working to the specific code) and a bottom-up validation (checking which NAICS codes appear most frequently on contracts you've won or are pursuing). The combination produces a more accurate code list than either approach alone.

1
Search the NAICS manual by keyword

The Census Bureau's NAICS search at census.gov/naics allows keyword search. Enter descriptions of your services or products and review the results. NAICS searches are keyword-literal — 'IT services' may not return the same results as 'computer services' even though they describe the same thing. Try multiple keyword variations for each service line.

2
Review your past contracts' NAICS codes

Pull the NAICS codes from every federal contract you've won or bid on in the past 2 years. These are the codes that contracting officers are already using to classify work in your wheelhouse. If you've won a contract under NAICS 541519 but never registered that code, you're missing future opportunities being classified the same way.

3
Search usaspending.gov for comparable awards

Go to usaspending.gov and search for federal awards similar to your work. Look at the NAICS codes assigned to those awards — this shows you which codes contracting officers actually use, not just which codes theoretically apply. The practical NAICS code usage often differs from what the NAICS manual suggests.

4
Check competitor SAM.gov profiles

Look up the SAM.gov profiles of competitors who win contracts you've bid or lost. Their registered NAICS codes reveal which classifications the market is using for your type of work. If multiple competitors are registered under a code you haven't registered, that's a signal.

Verify size standards for each code

For every code you're considering, check the size standard at sba.gov/size-standards. Confirm you meet the standard before including the code in your profile. A code where you're above the size standard is still worth registering for informational purposes — but you can't self-certify as a small business on contracts under that code.

Primary vs secondary NAICS codes — the strategic difference

Your primary NAICS code — designated in SAM.gov — is the code that most accurately represents your primary business activity (typically where you generate the most revenue). It's used for general size standard calculations, some certification eligibility determinations, and as the default classification for your business in federal databases.

Secondary NAICS codes are all the other codes you register in SAM.gov. They appear in your profile and are used by contracting officers when searching for vendors in specific categories. Registering secondary codes doesn't affect your size standard for your primary code — but it makes you discoverable for contracts in those categories and allows you to self-certify as a small business on contracts in those codes (if you meet the respective size standards).

💡
More codes is not always better

Registering 50+ NAICS codes when you legitimately operate in 8 creates noise in your profile and can undermine your credibility with contracting officers who see the list. Register every code where you have genuine capability and experience. Skip codes where you'd be stretching to justify the work — winning a contract in a code where you have no real expertise creates performance risk that can permanently damage your past performance record.

NAICS codes and set-aside eligibility

Set-aside eligibility is determined at the contract level — the NAICS code assigned to the specific contract determines the size standard, and your size relative to that standard determines your eligibility. For specialty set-asides like WOSB, the NAICS code also determines whether the set-aside type is even available: WOSB set-asides only apply in NAICS codes where the SBA has determined women-owned businesses are underrepresented.

For 8(a), HUBZone, SDVOSB, and VOSB set-asides, the NAICS code doesn't restrict which contracts can be set aside — any contract in any NAICS code can be designated as an 8(a), HUBZone, or SDVOSB set-aside. What matters is that you're certified and that you meet the size standard for the contract's NAICS code.

The highest-spending federal NAICS codes

Not all NAICS codes see equal federal spending. Understanding where the money flows in your industry helps you prioritize which codes to register and which agencies to target. These are among the highest-volume NAICS codes in federal procurement.

AgencyAnnual SpendTop CategoriesNotes
541512
Computer Systems Design Services
$50B+IT architecture, systems integration, network designSingle highest-volume professional services code. DoD, DHS, and civilian IT buyers.
236220
Commercial and Institutional Building Construction
$40B+Federal buildings, hospitals, courthouses, military facilitiesGSA, Army Corps, VA are dominant buyers.
237310
Highway, Street, and Bridge Construction
$35B+Roads, bridges, airport runways, infrastructureFHWA, Army Corps, State DOTs (for federal-aid projects).
541330
Engineering Services
$25B+Civil, structural, mechanical, environmental engineeringArmy Corps, FHWA, DOE are dominant buyers.
541611
Management Consulting
$20B+Organizational consulting, strategic planning, program managementDoD, HHS, Treasury are major buyers.
621111
Offices of Physicians
$15B+Clinical services, physician staffing, medical careVA and DoD health programs dominate.

NAICS codes in SAM.gov — what to register

SAM.gov allows you to register one primary NAICS code and multiple secondary codes. Your primary NAICS code should reflect your largest revenue-generating activity — the work that defines your business. Secondary codes should cover every legitimate capability area where you've delivered comparable work.

Beyond the basic code registration, SAM.gov also allows you to add descriptions and keywords to your profile. These are indexed and searchable — use them to describe your capabilities in the language that contracting officers use when looking for your services. If you provide DevSecOps services, say 'DevSecOps' — not just 'software development.' If you specialize in HVAC maintenance for federal facilities, say exactly that.

NAICS codes in state procurement

State procurement systems don't use NAICS codes — they use NIGP (National Institute of Governmental Purchasing) codes in most US states, and GSIN (Goods and Services Identification Number) codes in Canadian federal procurement. However, the underlying logic is the same: you register commodity codes that match your capabilities, and the system notifies you when matching solicitations are posted.

NIGP codes have a different structure from NAICS — they're 5-digit codes organized by class (first 3 digits) and item (last 2 digits). BidEdgeHQ maps between NAICS codes and their NIGP and GSIN equivalents — so your NAICS-based ICP profile automatically covers state and Canadian procurement opportunities in the same categories, without requiring you to register separately in each state's commodity code system.

🎯
Your NAICS codes power your BidEdgeHQ match scores

Add your NAICS codes to your BidEdgeHQ ICP profile and we score every federal and state tender against them — across SAM.gov and 200+ portals simultaneously. The right codes mean higher scores on the right tenders and WhatsApp alerts only when something genuinely relevant drops.

Start Free — No Card Required

How to update your NAICS codes

Your NAICS codes in SAM.gov can be updated at any time through your entity registration. Log into sam.gov, navigate to your entity registration, and update the NAICS code section. Changes take effect immediately after validation. Update your codes annually as a minimum — more frequently if you expand into new service areas or win contracts in new categories.

The NAICS classification system itself is updated every 5 years by the Office of Management and Budget. The most recent revision was in 2022. When NAICS codes are revised, some codes are added, some are deleted, and some change their definition or boundary with adjacent codes. Review your registered codes against the current NAICS manual whenever a revision is published to ensure your codes still accurately reflect your business.

How many NAICS codes should I register in SAM.gov?

Register every NAICS code that accurately reflects capabilities you've delivered and can credibly deliver again. For most small businesses, this is 3–10 codes. There's no limit, but quality matters more than quantity — registering 40+ codes when you genuinely operate in 6 creates profile noise and can undermine your credibility with contracting officers who review your profile. Register accurately, not aspirationally.

What happens if a contracting officer assigns the wrong NAICS code to a contract?

If you believe a contracting officer has assigned an incorrect NAICS code to a solicitation — one that either misclassifies the work or uses a code with a size standard that excludes small businesses who could legitimately perform the work — you can formally protest the NAICS code classification to the SBA. NAICS code protests must be filed within 10 days of the solicitation's issuance. The SBA makes a determination and can require the contracting officer to amend the NAICS code.

Does my NAICS code affect which certifications I can hold?

Directly, no — your primary NAICS code doesn't determine which certifications you can apply for. Indirectly, yes — for WOSB, the set-aside applies only to contracts in eligible NAICS codes, so your NAICS codes affect where WOSB set-asides are available to you. For 8(a), HUBZone, and SDVOSB, the NAICS code on each contract determines your size standard eligibility, but doesn't restrict which contracts can be set aside for certified firms.

Can I bid on a contract if the NAICS code isn't in my SAM.gov profile?

Yes — you can bid on any contract regardless of whether its NAICS code is registered in your SAM.gov profile. The NAICS code in your profile affects how contracting officers find you and which set-aside programs you're visible for. If you want to be proactively discovered for opportunities in a code, register it. But not having a code registered doesn't legally prevent you from bidding on contracts in that code.

What is the difference between NAICS codes and PSC codes?

NAICS codes classify the type of business performing the work. PSC (Product and Service Codes) classify the type of product or service being acquired. Federal contracts are tagged with both — a systems integration contract might have NAICS 541512 (the type of business) and PSC D301 (automated data processing support services). Vendors search by NAICS; agency spend analysis often uses PSC. Both are useful for market research, but NAICS codes are the primary classification used for vendor registration and set-aside designation.

Bottom line

Your NAICS codes are the foundation of your federal contracting visibility. Get them right and you appear in the right searches, qualify for the right set-asides, and receive the right opportunities. Get them wrong and you're invisible to buyers who are actively looking for what you offer, ineligible for set-asides you should qualify for, and wasting proposal resources on contracts where your size standard disqualifies you. Invest the time to identify your optimal code set, register them accurately in SAM.gov, review them annually, and update them as your capabilities evolve. It's one of the highest-leverage hours you'll spend in federal contracting.

Related Articles
SAM.gov Complete Guide for Small Businesses 2025
12 min read · Feb 10, 2025
Read →
How to Win Federal Government Contracts as a Small Business (2025 Guide)
14 min read · Mar 20, 2025
Read →