Bulk NDC crosswalk · Powered by NLM RxNorm

Your NDC data has the answers. You just can't reach them yet.

National Drug Codes (NDCs) identify a specific product and package — meaning the same Metformin from two different manufacturers carries two different codes, and a 30-count vs. 90-count bottle of Lipitor™ are treated as completely unrelated drugs. That makes even simple questions impossible to answer from your data alone.

RxMap converts every NDC into a standardized ingredient name, strength, and dose form, and returns your file enriched and ready to analyze. How many patients took a statin last year? Which generic costs the least to acquire? Questions like these go from hours of manual work to straightforward analysis — no code, no API, no data team required.

rxmap_output.xlsx
Enriched
ndc_coderxcuiIN_ingredientSCD_semantic_clinical_drug
00093-0058-01161AcetaminophenAcetaminophen 325 MG Oral Tablet
0069-3060-20617314AtorvastatinAtorvastatin 10 MG Oral Tablet
00006-0117-3129046LisinoprilLisinopril 5 MG Oral Tablet
3 of 1,247 rows shown+ 8 columns added per row

Built for

Academic & HSR researchers

Working with MEPS, Medicare Part D, Medicaid SDUD, NHANES, or SEER-Medicare? These public datasets ship with NDC codes. RxMap adds the drug-level identifiers your study needs.

Graduate students & fellows

Analyzing publicly available medication data for a thesis, dissertation, or course project — without a team of data engineers behind you.

Analysts without coding resources

You work in Excel, Stata, SAS, or R and need a clean NDC crosswalk — but writing API calls or maintaining a script isn't your job. RxMap handles it in one upload.

Health policy & outcomes researchers

Drug utilization, formulary analysis, adherence studies — any work that starts with raw NDC data and needs normalized drug identifiers to move forward.

Health economists & pharmacoeconomists

Working with NADAC, Medicaid reimbursement files, 340B pricing, or CMS Part D drug spending data? RxCUI is the join key between NDC-level claims and any drug cost reference. RxMap builds that bridge in one upload.

Managed care & PBM analysts

Formulary design, step therapy analysis, generic substitution reporting — all start with NDC codes from your claims system. RxMap converts them to analyzable drug identifiers so you can work in the tool you already use.

Why your National Drug Code data can't answer drug questions

National Drug Code (NDC) identifiers pinpoint a specific product from a specific manufacturer in a specific package. That's great for tracking shipments. It's terrible for answering research questions.

NDC codes: too specific to analyze

  • The same drug from two manufacturers has different NDC codes
  • A 30-count and 90-count bottle of Lipitor have different codes
  • Counting "how many patients took Metformin" requires hundreds of code lookups
  • No standard hierarchy — can't group by drug class without a crosswalk
/* 4 NDC codes — all Metformin 500mg */
00093-1074-01 // Teva
00378-1850-01 // Mylan
00591-0657-01 // Watson
60505-2561-01 // Apotex

Your analysis, finally possible

  • Count every Metformin prescription — regardless of manufacturer — with a single group-by
  • Compare branded vs. generic substitution across your formulary
  • Filter to oral tablets, injectables, or topicals in one column
  • Join drug data across MEPS, claims, and EHR using one standard identifier
  • Link NDC data to drug cost sources like NADAC or Medicaid reimbursement rates — using RxCUI as the join key
/* All 4 NDCs → one analyzable drug */
RxCUI: 860975
IN: Metformin
STR: 500 MG
DF: Oral Tablet
SCD: Metformin 500 MG Oral Tablet

Questions your dataset can finally answer

When every NDC has an ingredient, a strength, and a dose form, these go from impossible to a five-minute pivot table.

How many patients took Metformin last quarter?

RWE / Epidemiology

Every manufacturer, every package size — one ingredient code. Group 400+ Metformin NDCs into a single count without maintaining a lookup table.

What does this generic actually cost to acquire?

Drug Pricing / 340B

Join your NDC list to CMS NADAC (National Average Drug Acquisition Cost) or 340B ceiling prices using RxCUI as the bridge. Identify acquisition cost differences across generic manufacturers in seconds.

Did patients stay on their antihypertensive for 6 months?

HEOR / Outcomes

Link claims NDCs to a common drug identifier to calculate adherence across prescriptions, refills, and fill gaps — even across different manufacturers.

Which high-cost NDCs have a therapeutic equivalent on formulary?

Formulary / PBM

Map brand-name NDCs to their Semantic Clinical Drug (SCD), then cross-reference formulary tiers to surface generic substitution opportunities and quantify the savings potential.

Which drugs are most prescribed for diabetes patients in MEPS?

Academic / Policy

MEPS, Medicare Part D, Medicaid SDUD, NHANES, and SEER-Medicare all include NDC codes. Upload your extract — RxMap adds the drug-level columns your analysis requires. No API access. No coding.

Which controlled substances in our PDMP data are opioids?

Public Health / PDMP

State PDMPs log every controlled substance dispensed by NDC. Map those NDCs to RxNorm ingredients and drug classes to identify opioids, benzodiazepines, and stimulants across your entire dataset at once.

If it has NDC codes, RxMap works with it

Every dataset below ships with NDC codes as its drug identifier. RxMap converts those codes into analyzable drug data — no programming required.

Public & Government

MEPS
Medical Expenditure Panel Survey
Household-level drug expenditures and utilization
Medicare Part D
CMS Drug Spending Dashboard
Annual NDC-level drug spending and utilization
Medicaid SDUD
State Drug Utilization Data
Quarterly state-level pharmacy claims
NADAC
National Average Drug Acquisition Cost
Weekly CMS drug pricing benchmark — joins on NDC
340B OPAIS
Covered Outpatient Drug Data
340B ceiling prices and covered entity data
NHANES
National Health and Nutrition Examination Survey
Prescription drug use linked to health outcomes
SEER-Medicare
SEER-Medicare Linked Data
Cancer outcomes linked to Medicare pharmacy claims
FDA FAERS
Adverse Event Reporting System
Drug safety signal detection and pharmacovigilance
State PDMPs
Prescription Drug Monitoring Programs
Controlled substance dispensing data by NDC
VA/DoD Pharmacy
Veterans Affairs & DoD Drug Data
Federal pharmacy claims with NDC identifiers

Commercial & Claims

MarketScan
IBM MarketScan / Merative
Employer-sponsored commercial claims with NDC pharmacy data
Optum
Optum Clinformatics Data Mart
Commercial and Medicare Advantage pharmacy claims
Truven
Truven Health Analytics
Multi-payer claims data for drug utilization research
IQVIA / IMS
IQVIA Longitudinal Prescription Data
Retail pharmacy dispensing by NDC nationwide
Symphony
Symphony Health / Veeva
All-payer pharmacy and medical claims dataset
APCDs
All-Payer Claims Databases
State-level multi-payer claims including pharmacy
UB-04 / 837I
Hospital Inpatient Claims
NDC codes on drug line items in facility claims
PHIS
Pediatric Health Information System
Pediatric hospital encounters including drug administrations
PBM Extracts
Pharmacy Benefit Manager Claims Feeds
Formulary and adjudication data keyed by NDC
Specialty Rx
Specialty Pharmacy Hub Data
Hub and patient assistance program records by NDC

Any file with an NDC column works — CSV, Excel, or TSV. The tool is data source agnostic.

8 columns added. Every level of analysis covered.

From ingredient-level counts to brand-specific package lookups — each column answers a different research question.

IN
Ingredient

The active pharmaceutical ingredient (e.g., Metformin). Aggregates across all formulations and manufacturers.

Use this to: Count all prescriptions for a drug regardless of manufacturer or package.

Metformin
PIN
Precise Ingredient

Specifies the exact salt or ester form (e.g., Metformin Hydrochloride).

Use this to: Use when the exact salt form matters for your study (e.g., distinguishing iron formulations).

Metformin Hydrochloride
SCD
Semantic Clinical Drug

Ingredient + strength + dose form, without brand. Best for generic-level analysis.

Use this to: Use as your primary analysis key for generic-level drug comparisons.

Metformin 500 MG Oral Tablet
GPCK
Generic Pack

Generic pack with quantity information.

Use this to: Use for supply chain and dispensing volume analyses.

Metformin 500 MG [100 Tabs]
SBD
Semantic Branded Drug

Brand-name drug with ingredient, strength, and dose form.

Use this to: Use for branded vs. generic substitution studies.

Glucophage 500 MG Oral Tablet
BPCK
Branded Pack

Branded pack with quantity. Aligns with specific product packages as sold by brands.

Use this to: Use to link to specific branded packages as dispensed.

Glucophage 500 MG [100 Tabs]
STR
Strength

Structured strength field from RxNorm RxTerms — machine-readable and consistent across products.

Use this to: Filter or stratify by dose. Compare 10 mg vs. 20 mg prescriptions.

500 MG
DF
Dose Form

Standardized dose form from RxNorm RxTerms.

Use this to: Filter to oral-only, injectables-only, or topicals across your entire dataset.

Oral Tablet

Three steps to enriched data

01

Upload your file

CSV, Excel, or TSV. Select the column containing NDC codes. We count the rows and show your exact price before you pay.

02

Pay securely

$0.01 per NDC code, $5.00 minimum. Secure card payment. Your file is processed immediately after confirmation.

03

Download results

Your original file as an Excel workbook — enriched with 8 new columns covering ingredient, strength, dose form, and branded and generic formulations. Open it directly in Excel, Stata, SAS, or R. Your analysis starts here.

Simple, transparent pricing

No subscriptions. No accounts. Pay only when you convert.

$0.01/ NDC code

$5.00 minimum per upload

100 codes
$5.00
1,000 codes
$10.00
10,000 codes
$100.00
Secure payment
Instant results
No data retention
9 enrichment columns

Results available for 24 hours after processing. Do not upload identifiable patient data. Terms of Service

Frequently asked questions

What file formats are supported?

RxMap accepts CSV (.csv), Excel (.xlsx), and tab-separated values (.tsv). Your file must have column headers in the first row. Files can contain any number of additional columns — only the NDC column is required.

How is the NDC column identified?

After uploading, you'll see a column selector that shows all detected columns. You choose which one contains NDC codes. RxMap will preview the first few values to help you confirm.

What happens to my data?

Only NDC codes are sent to the server — your original file is processed locally in your browser and is never uploaded. Results are available for 24 hours and then automatically deleted. We do not retain, sell, or use your data for any purpose other than returning your enriched results.

What if an NDC code has no RxNorm match?

Not all NDC codes are in RxNorm (e.g., some OTC products, dietary supplements, or very old codes). Unmatched rows will have blank RxCUI columns in the output — your original data is always preserved.

What happens when an NDC maps to multiple drugs?

Some NDCs — particularly combination products or repackaged drugs — map to more than one RxNorm concept. RxMap handles this by adding separate numbered columns for each result: SCD_1, SCD_2, etc. If every NDC in your file has only one match, the columns are not numbered.

How long does processing take?

Processing time depends on file size. Small files (< 100 NDCs) typically complete in under 30 seconds. Larger files may take a few minutes. The results page updates in real time.

Does this work with MEPS, Medicare, or Medicaid data?

Yes. MEPS (Medical Expenditure Panel Survey), Medicare Part D, Medicaid State Drug Utilization Data (SDUD), NHANES, and SEER-Medicare all include NDC codes. Export the relevant columns to a CSV or Excel file, upload it to RxMap, select the NDC column, and download the enriched result with RxCUI identifiers, drug names, Strength, and Dose Form — ready for your analysis in Stata, SAS, R, or Excel.

Can I use this for pharmacy claims data analysis?

Yes — this is one of RxMap's primary use cases. Upload the NDC column from your claims extract (CSV or Excel), select it in the column picker, and download the enriched file with RxCUI, Ingredient, Semantic Clinical Drug, Strength, and Dose Form added to every row.

Can I use RxMap to link NDC data to drug pricing sources like NADAC?

Yes. CMS publishes NADAC (National Average Drug Acquisition Cost) weekly with NDC codes as the primary key. Upload your NDC list, get RxCUI values back from RxMap, then use RxCUI as a common join key to NADAC or any RxNorm-referenced pricing file. The same approach works for Medicaid reimbursement rates, 340B ceiling prices, and CMS Part D drug spending data. RxCUI is the standard bridge identifier between NDC-level claims and drug cost reference databases.

How is RxMap different from using the RxNav website?

RxNav (the NLM's web interface) looks up one NDC at a time. RxMap processes your entire file in bulk — hundreds or thousands of NDCs in a single upload. It also handles deduplication, multi-drug NDCs, and outputs a clean Excel file ready for analysis.

Is this an official NIH or FDA service?

No. RxMap is an independent service that queries the publicly available NLM RxNorm REST API. We are not affiliated with NIH, FDA, or NLM.

About RxMap

RxMap is a bulk NDC-to-RxCUI crosswalk tool operated by Medication Data Science Inc. It was built to solve a practical problem: publicly available health datasets (MEPS, Medicare Part D, Medicaid SDUD, NHANES) use NDC codes as their drug identifier, but those codes are too manufacturer- and package-specific to support meaningful analysis without normalization.

RxMap queries the NIH National Library of Medicine RxNorm API for every NDC in your file and returns a clean Excel workbook with standardized RxNorm identifiers — no programming, no API access, no data team required.

RxMap is not affiliated with NIH, FDA, or NLM. It is an independent tool that uses the publicly available RxNorm REST API.

Key facts

Data source
NIH NLM RxNorm API (rxnav.nlm.nih.gov)
File types
CSV, Excel (.xlsx), TSV
Output
Excel workbook with 9+ enrichment columns per NDC
Pricing
$0.01 per NDC, $5.00 minimum — no subscription
Operated by
Medication Data Science Inc
Contact
Use the contact form on our About page

Powered by

Drug data is sourced from RxNorm, maintained by the NIH National Library of Medicine as part of the Unified Medical Language System (UMLS). Drug class data (ATC, VA class) is sourced from the NLM RxClass API.

Stop working around your NDC codes.

Upload your file in seconds. Results in minutes. No account needed.