Skip to content
ClearedStack

Tools · CLIN 0004 Market research & small business

NAICS-to-PSC Crosswalk

Planned

Go from an industry code to the product and service codes buyers search on.

This tool is planned. There is nothing to open yet. What follows is the plan, and it can change before the tool ships. The guide below covers the same job by hand in the meantime. Jump to the full specification.

What it will do

Enter a NAICS code and see the product and service codes that have been used with it, or go the other way. There is no official one-to-one mapping between the two systems, so the result is a starting point for searching past awards, not an answer.

You bring

  • A NAICS code, or a product and service code

You get

  • The related codes, with their descriptions
  • The edition and date of each code table used

Built from

Only material the government has officially released to the public. Where the rules live shows how to find and cite each one.

Do it by hand today

True of every tool

Free and open source.
No paid tier, no ads, and the code is public.
Runs in your browser.
What you type or open is not sent anywhere.
No tracking.
No accounts, cookies or analytics.
Shows its sources.
Each result names the rule it rests on, so you can check it.
Says what it does not do.
It is an aid for your own work, not professional advice.

What happens to what you type shows how to confirm this yourself, and Check a tool’s answer is the method for verifying a result.

Want it sooner?

Requests decide what is built first. Say what you would use it for, and what you do by hand today.

Issues are public. Leave out real contract data, real rates and anything controlled. How to write a useful request.

Specification · draft

How it is meant to work, in detail

The inputs, the logic, the checks the tool has to pass and the worked examples it is tested against. It is a draft, and the tool is built from it, so it can change until the tool ships.

4 min readLast revised November 2026Source of this specification

Overview & Role#

naics-psc-crosswalk (CLIN 0004, category: "market", slug: naics-psc-crosswalk) is a static, browser-only market research utility in the ClearedStack catalog. Its job is to help contractors and buyers move deterministically between North American Industry Classification System (NAICS) codes (which describe what kind of business sells a capability) and Product and Service Codes (PSCs) (which describe what the government is buying on a contract action).

As documented in Codes, registration and small business status, there is no official one-to-one mapping between NAICS and PSC: one NAICS code corresponds to many PSCs and vice versa. naics-psc-crosswalk therefore provides a deterministic, ranked starting point built from official taxonomy descriptions and historical federal award pairings, paired with an optional SBA size-standard check for the selected NAICS code.

Governing Regulations & Sources#

Every code, description, and threshold bundled in naics-psc-crosswalk is derived from public federal sources:

SourceAuthority / ScopeHow Used in Tool
OMB / U.S. Census Bureau NAICS2022 NAICS Manual (6-digit industry hierarchy)Provides canonical 6-digit NAICS codes, titles, and sector prefixes (e.g., 54 Professional, Scientific, and Technical Services; 5415 Computer Systems Design).
GSA / FPDS PSC ManualProduct and Service Code Manual (4-character codes)Provides canonical 4-character PSCs and top-level classification: digit (0–9) = Products, A = Research & Development, other letters (B–Z, e.g., D for IT, R for professional/management support) = Services.
13 CFR Part 121SBA Table of Size StandardsSupplies the small business size standard for each 6-digit NAICS code, measured either in average annual receipts (5-year average, mostly services) or number of employees (24-month average including part-time staff, mostly manufacturing and R&D).
13 CFR 121.103 & FAR Part 19Affiliation & solicitation-level NAICS assignmentDocuments that affiliates count toward size and that the solicitation's assigned NAICS code controls size eligibility as of the offer submission date.

Inputs, Processing Logic & Outputs#

Inputs

FieldTypeValidation / Notes
modeEnum (naics_to_psc | psc_to_naics | keyword)Selects lookup direction.
queryString2–6 digit NAICS prefix/code (^\d{2,6}$), 1–4 character PSC prefix/code (^[A-Z0-9]{1,4}$), or keyword tokens.
psc_categoryEnum (all | products | rd | services)Optional filter based on first character of PSC (0-9, A, B-Z).
size_metric_valueNumber (optional, >= 0)Optional user-entered 5-year average annual receipts (USD) or 24-month average employee count, including affiliates.

Deterministic Processing Logic

  1. Input normalization: Trim whitespace, strip hyphens, uppercase PSC characters, and reject non-alphanumeric control characters.
  2. Taxonomy lookup:
    • Exact 6-digit NAICS or 4-character PSC matches resolve directly against the bundled static JSON tables (naics-2022.json, psc-manual.json).
    • Shorter prefixes (2–5 digit NAICS or 1–3 character PSC) return all matching child codes sorted lexicographically.
    • Keyword queries run deterministic, case-insensitive token matching against official titles and descriptions.
  3. Crosswalk ranking: For a selected NAICS (or PSC), query the bundled naics-psc-crosswalk.json index and sort paired codes deterministically by bundled co-occurrence tier (Primary, Secondary, Related), breaking ties lexicographically by code.
  4. Optional size-standard evaluation: When size_metric_value is provided for a 6-digit NAICS code:
    • Compare size_metric_value <= size_standard_limit -> Small (under NAICS <code >)
    • Compare size_metric_value > size_standard_limit -> Other than small (under NAICS <code>)
    • Always attach the effective table date and an affiliation reminder (13 CFR 121.103).

Outputs

  • Primary code card: Code, official 2022 NAICS title (or PSC title and category), and SBA size standard (measure, limit, effective_date).
  • Ranked crosswalk table: Paired PSCs (or NAICS codes) with category badge, official description, and match tier (Primary / Secondary / Related).
  • Size check result (if entered): Pass/exceed comparison against the NAICS size standard with explicit note that the solicitation's assigned NAICS code governs.
  • Exportable search summary: Plain-text, JSON, or CSV list of selected codes for use in SAM.gov or USASpending award searches.

Clean-Room & 5-Condition QA Requirements#

To pass Shakedown and ship to live:

  1. Browser-only & offline execution: Runs 100% client-side with zero backend APIs. All 2022 NAICS definitions, GSA PSC Manual entries, SBA size standards, and crosswalk pairings are bundled inside the static repository so the tool works with the network disconnected.
  2. Strict Content Security Policy: Enforces default-src 'self', connect-src 'self', and form-action 'none'. No live requests to SAM.gov, FPDS, or external CDNs.
  3. Zero tracking or accounts: No sign-in walls, analytics scripts, cookies, or third-party beacons. Any optional local pinned-codes list uses browser storage only with a clear-data control.
  4. Worked-example assertions: Automated unit tests verify exact lookups, prefix expansion, crosswalk sorting, size-standard boundary comparisons, and unknown-code empty states.
  5. Citations, scope limits & MIT license: Displays official source citations (13 CFR Part 121, OMB 2022 NAICS, GSA PSC Manual) with revision date, states that crosswalks are non-authoritative starting points (not legal or contracting advice), and ships with an MIT LICENSE. Built clean-room from public government datasets without copying proprietary vendor crosswalks or ingesting CUI.

Worked Example & Verification#

Worked Example

  • Input: mode = "naics_to_psc", query = "541511", psc_category = "services", size_metric_value = 18500000 (5-year average annual receipts in USD, including affiliates).
  • Deterministic Resolution:
    • Matches NAICS 541511 — Custom Computer Programming Services.
    • SBA Size Standard (13 CFR Part 121, Nov 2026 check): $34,000,000 average annual receipts.
    • Size Check: $18,500,000 <= $34,000,000 -> Small under NAICS 541511.
    • Ranked Services PSCs returned:
      • DA01 — IT and Telecom - Business Application/Application Development Support Services (Labor) (Primary)
      • DF01 — IT and Telecom - IT Management Support Services (Labor) (Primary)
      • R425 — Support - Professional: Engineering/Technical (Secondary)
      • R499 — Support - Professional: Other (Related)

Boundary & Verification Cases

Test CaseInputExpected Deterministic Output
Exact size boundary (pass)NAICS 541511, receipts 34000000Small ($34,000,000 <= $34,000,000).
Exact size boundary (exceed)NAICS 541511, receipts 34000001Other than small ($34,000,001 > $34,000,000).
PSC prefix classificationPSC D vs A vs 7D* -> Services; A* -> R&D; 7* -> Products.
Unknown codeNAICS 999999Deterministic "No matching NAICS code in 2022 table" state; zero runtime errors.