Free tool · CMS public data

NDC to HCPCS Crosswalk for Part B Drugs

The NDC is printed on the vial. The J-code is what the claim needs, and the billing units are where claims go wrong. Enter an NDC and this tool returns the HCPCS code to bill, the dosage that code represents, and how many billing units the package works out to, straight from the CMS ASP crosswalk.

  • 7,378NDC to HCPCS pairs in the current file
  • 870Distinct HCPCS drug codes covered
  • QuarterlyCMS republishes the crosswalk every three months
  • FreeNo login, runs in your browser

This reads the CMS ASP NDC-HCPCS Crosswalk for the quarter named in the tool. CMS maintains the crosswalk to support ASP-based Part B payment, so it covers drugs paid that way and not retail pharmacy or Part D products. HCPCS Level II codes only. General reference information, not a coverage determination or legal advice.


Why units cause more denials than codes

Picking the right J-code is usually the easy half. The hard half is units, because the HCPCS code carries its own dosage descriptor that often has nothing to do with the package you opened. A code defined as 1 mg billed for a 100 mg vial is 100 units, not one. Get that backwards and the claim either underpays by two orders of magnitude or trips a medically-unlikely-edit rejection.

The CMS crosswalk publishes the package quantity and the billing units for each NDC, which is why this tool shows them next to the code rather than leaving you to work them out.

Search by NDC, drug name or manufacturer

Dashes are optional — the NDC is matched on digits alone, so the number as printed on the carton works whether or not you reproduce the hyphenation. You can also search by brand name, by the HCPCS short descriptor, or by labeller if you know the manufacturer but not the number.

A missing NDC is informative too

Not every NDC is in this file. CMS maintains the crosswalk specifically to support ASP-based Part B payment, so a drug dispensed through a retail pharmacy and billed to Part D will not appear. If an NDC returns nothing here, that absence is itself a hint about which benefit the drug belongs to.

Sources and methodology

Source: the CMS ASP NDC-HCPCS Crosswalk, published quarterly alongside the Part B drug payment limit file. This tool reads the section 508 comma-delimited version and shows the effective period printed inside the file.

NDC, labeller, drug name, code dosage, package quantity and billing units are reproduced as published. The payment limit shown beside each result is joined from the Part B Drug Payment Limit File of the same release, matched on HCPCS code. One NDC in the current file carries twelve digits rather than the usual ten or eleven; it is displayed exactly as CMS published it rather than silently reformatted.

Only HCPCS Level II drug codes appear here. CPT-coded services are not included, and no CPT content is reproduced anywhere on this page.