NAICS Code Finder Guide

Your NAICS codes determine which contracts you can bid on, which set-asides you qualify for, and whether your competitors see you as a threat. Pick the wrong codes and you disappear from federal search results. Pick too many and you look unfocused. Pick the right ones and the right contracting officers find you.

This guide covers what NAICS codes are, how to pick them, how size standards work, and the mistakes that quietly sideline small contractors from contracts they should be winning. If you just want your codes, use the NAICS recommender. Come back here if you want to understand the system around them.

What NAICS codes are

NAICS stands for North American Industry Classification System. It's a six-digit numeric taxonomy the US government uses to classify every business activity. Every federal contract is tagged with a NAICS code. Every federal contractor has one or more NAICS codes on their SAM.gov profile.

The system is hierarchical. The first two digits are the sector. The next digits narrow to subsector, industry group, industry, and specific activity. For example:

  • 54: Professional, Scientific, and Technical Services
  • 541: Professional, Scientific, and Technical Services (subsector)
  • 5415: Computer Systems Design and Related Services
  • 54151: Computer Systems Design and Related Services
  • 541512: Computer Systems Design Services

When a contracting officer posts an opportunity, they assign one NAICS code to it. Contractors registered under that code show up in searches. Contractors who aren't registered under it don't.

That's the mechanic. Your codes are your shelf position in a federal marketplace.

How size standards work

Every NAICS code has a size standard. The size standard determines whether your business is "small" for that code's purposes, which in turn determines your eligibility for small business set-asides.

There are two kinds of size standards:

Revenue-based: measured in average annual receipts over the last five fiscal years. Most service NAICS codes use this. Example: NAICS 541512 has a size standard of $34M. If your five-year average revenue is under $34M, you're small under that code.

Employee-based: measured in average employee count over the last 12 months. Used mostly for manufacturing and some specialized sectors. Example: NAICS 336411 (aircraft manufacturing) has a size standard of 1,500 employees.

The size standard you care about is the one attached to the NAICS on the specific contract you're bidding. Not the one you think applies. Not the one on your last contract. The one posted with the opportunity.

This matters because you can be small under one NAICS and large under another. A company with $40M revenue is too large for NAICS 541512 ($34M standard) but small under NAICS 541611 ($24.5M standard, but look it up before you bid since SBA updates standards periodically).

If you cross a size standard in a NAICS where you've been competing as small, you graduate out of set-asides. There's no warning. You just stop winning.

How to pick your NAICS codes

Most contractors register three to seven NAICS codes. More than that and you look like you'll bid on anything. Less than three and you miss eligible opportunities.

The framework:

Primary NAICS (1 code): the code that best describes your core business. This goes on your SAM.gov profile as the primary. It's what contracting officers see first. It's what the SBA uses to measure your size when they certify you.

Secondary NAICS (2-6 codes): codes describing adjacent services or alternative ways to classify your work. These expand the search results you show up in without diluting your primary positioning.

When picking, ask three questions:

  1. Does this code describe work I can actually deliver? If you register under 541512 but can't architect a cloud migration, you'll lose the first contract you win and never get another.
  2. Is my business small under this code's size standard? If you're graduating out of small under your primary, consider whether a related NAICS has a higher size standard that keeps you eligible for set-asides longer.
  3. Is there federal demand under this code? Use USASpending.gov or SAM.gov search to verify contracts actually get awarded under this NAICS. Some codes have almost no federal demand.

The recommender tool handles the first question automatically. The other two are up to you.

Which codes matter most for small contractors

Federal spending is heavily concentrated in a handful of NAICS codes. If you're in any of these sectors, you're in a pool with real contract volume:

IT and professional services

  • 541511: Custom Computer Programming Services ($34M)
  • 541512: Computer Systems Design Services ($34M)
  • 541519: Other Computer Related Services ($34M)
  • 541611: Administrative Management and General Management Consulting ($24.5M)
  • 541618: Other Management Consulting Services ($19.5M)
  • 541715: Research and Development in Physical, Engineering, and Life Sciences ($28M, 1,000 employees for some sub-categories)

Construction and facilities

  • 236220: Commercial and Institutional Building Construction ($45M)
  • 237990: Other Heavy and Civil Engineering Construction ($45M)
  • 238210: Electrical Contractors ($19M)
  • 561210: Facilities Support Services ($47M)

Environmental and specialized services

  • 562910: Remediation Services ($22M, 750 employees)
  • 541620: Environmental Consulting Services ($19M)
  • 541330: Engineering Services ($25.5M, $47M for specific sub-categories)

Logistics and supply

  • 423450: Medical and Hospital Equipment Merchant Wholesalers (150 employees)
  • 561499: All Other Business Support Services ($15M)

These are starting points. Your actual codes depend on what you do. Don't pick from this list because it's convenient. Pick from this list if it's accurate.

Set-aside programs and NAICS

Set-asides (SDVOSB, WOSB, HUBZone, 8(a)) aren't tied to specific NAICS codes. If you're certified under one of these programs, you can compete for any set-aside contract in any NAICS where you're registered and small.

But contracting officers assign set-asides opportunity by opportunity. Some NAICS codes see heavy SDVOSB set-aside activity (VA contracts in medical services and IT). Others rarely see set-asides at all.

USASpending.gov can filter by set-aside type and NAICS. If you're certified SDVOSB, look at the NAICS codes where SDVOSB set-asides actually get awarded, not just which NAICS describe your services. Align your registered codes with where your certification can actually win you work.

Common mistakes

These show up constantly in SAM.gov profile reviews and lost-bid debriefs.

Registering too many NAICS codes. Contracting officers notice. If you have 15 NAICS codes, you look like a body shop that bids on anything. Three to seven is the sweet spot.

Picking codes based on revenue potential instead of actual capability. NAICS 541330 (engineering services) has huge contract volume. If you're not an engineering firm, registering under it gets you filtered out within the first round of source selection. Worse, winning a contract you can't perform damages your past performance record.

Ignoring size standard transitions. You've been small under 541611 for years. Your revenue grew. You just graduated out. If you didn't plan the transition, you're now competing against firms five times your size with no warning. Check your five-year revenue trajectory against every NAICS you're registered under annually.

Using outdated NAICS versions. NAICS gets revised every five years. 2022 is the current version as of this writing. If your SAM.gov profile has 2017 NAICS codes, you may be missing codes that didn't exist before or using codes that got renumbered.

Not updating your DSBS profile. Dynamic Small Business Search (now SBS) is what contracting officers use to find small contractors. Your NAICS codes show here, but only if your DSBS profile has them populated. SAM.gov and DSBS don't always sync automatically. Check both.

Registering under a code where federal demand is near zero. Some NAICS codes are technically accurate but see almost no federal spending. If no contracts get awarded under that code, registering under it does nothing for you. Validate demand before you register.

Assuming primary NAICS doesn't matter. Your primary NAICS drives SBA's determination of your business size, your industry classification on set-aside eligibility reviews, and often shows up on federal databases as your default sector. Pick it deliberately.

How to check if your codes are working

Three signals:

  1. Opportunity volume in your SAM.gov saved searches. Set up saved searches filtered by your NAICS codes. Track how many opportunities get posted weekly. If the volume is low, either your codes are wrong or your industry has a slow quarter. Check USASpending.gov historical data to distinguish.

  2. Contracting officer outreach. If CO's are finding your DSBS profile and reaching out, your codes are working. If you're getting zero inbound after six months with a published capability statement, your codes may be too narrow or misaligned with actual demand.

  3. Past performance under the code. Winning contracts under a NAICS builds past performance in that code, which compounds. If you have three NAICS but all your wins are under one of them, consider whether the other two are dead weight.

Next steps

Use the NAICS recommender to get a ranked list of codes that match what your business actually does. Cross-check against USASpending.gov to verify federal demand. Then update your SAM.gov and DSBS profiles with your selected codes.

If you're an SDVOSB or VOSB working through code selection as part of certification or post-certification positioning, Startvest helps small federal contractors build the capability statement and NAICS alignment that gets contracting officers to pick up the phone.

And if you haven't calculated your wrap rate yet, the wrap rate calculator is the next tool to use. Your NAICS codes tell contracting officers who you are. Your wrap rate tells them whether they can afford you.