Printer troubleshooting technician providing live chat help

Joe B.

Expert ★★★★★ 27,853 satisfied customers

Specialities: Pharmacy labels, Zebra/DYMO, Windows/macOS, ZPL/EPL, Label templates & barcode formats

NDC barcode missing on pharmacy prescription labels — Code 128/GS1-128, 10- vs 11-digit NDC, data mapping

Technician avatar Technician
Hey! We’ll get the NDC barcode printing correctly on your pharmacy prescription labels.
Quick questions to target the fix: Which printer (Zebra, DYMO, TSC, Brother TD) and label size? Which pharmacy system (PioneerRx, QS/1, Liberty, EnterpriseRx, Rx30, ScriptPro)? Does the label show the NDC text but no barcode, or is the NDC value blank entirely? Any recent template change, Windows update, or printer swap?
Customer
Zebra ZD421 on Windows. PioneerRx prints the label but the NDC barcode is missing—space is blank. Human-readable NDC text shows with hyphens.
Technician avatar Technician
Got it. When an NDC barcode doesn’t print but text appears, the usual causes are:
1) The barcode object is set to the wrong symbology (should be Code 128 / GS1-128, not Code39/UPC).
2) The NDC is coming as 10-digit with hyphens while the template expects an 11-digit, zero-padded value without dashes.
3) The template’s data mapping points to the wrong field (e.g., drug NDC vs repack NDC).
4) ZPL/EPL command not sent (driver converts text only), or DYMO object is “Text” not “Barcode”.
We’ll check formatting, mapping, and printer mode to restore a scannable NDC barcode.
Customer
Where do I change the symbology and the 11-digit format? We didn’t edit ZPL manually.
Technician avatar Technician
Step 1 — Template check (barcode object)
• Open your pharmacy label template/editor. Locate the object bound to “NDC”. Ensure Barcode Type = Code 128 (or GS1-128) and Data source = NDC field.
• Enable HRI (human-readable interpretation) text below the barcode if your state board requires it.
• For Zebra drivers, verify “Use printer fonts and barcodes” so the driver emits ZPL (^BC/^BY) not a raster image. For DYMO, use the “Barcode” control rather than a text box.
This alone restores the missing NDC barcode on pharmacy labels in many cases.
Customer
Our NDC shows with hyphens like 1234-5678-90. The system probably sends 10 digits. Scanner wants 11.
Technician avatar Technician
Step 2 — Normalize NDC to 11 digits
• Configure the data rule in the template to strip hyphens and left-pad with a zero to produce an 11-digit NDC (5-4-2 format). Many PMS systems have a “format as 11-digit” checkbox or function.
• If your system exposes multiple fields (NDC10, NDC11, GS1NDC), bind the barcode to NDC11. Keep the printed text as hyphenated if you prefer, but the barcode should be the 11-digit numeric stream for scanners in inventory/claims.
• After saving, print a test label and verify the scanner reads the value.
Customer
We also print a lot/exp date barcode on some labels. Could that conflict with the NDC?
Technician avatar Technician
It can. Some templates reuse a “Barcode1” placeholder; if it was later pointed to Lot/Expiry, your NDC barcode may be orphaned. Confirm each object’s data mapping is unique: NDC → Code128, Rx number → separate barcode (if needed), Lot/EXP → DataMatrix/Code128 on a different field. Rename objects clearly (e.g., bcNDC, bcRx) to avoid clashes.
Customer
The barcode still doesn’t render on Zebra—just white space. Could it be a driver or darkness/speed issue?
Technician avatar Technician
Step 3 — Printer configuration (Zebra/DYMO)
• Zebra: set Media Type to the correct stock (gap/mark), run calibration, and set Darkness + Print speed appropriate for small bar widths. In driver preferences enable “Use printer resident barcodes” so ZPL sends ^BC (Code128).
• DYMO: in DYMO Connect, ensure the object is “Barcode”, not converted to an image; choose Code 128 and uncheck “Auto hyphenate”.
• If you previously printed through a PDF/renderer, switch to the label driver to avoid barcode rasterization that scanners can’t read.
Customer
After these changes we can scan, but a few NDCs still fail. Anything else to validate?
Technician avatar Technician
Step 4 — Make it scanner-friendly
• Ensure a proper quiet zone (blank margin) left/right of the barcode. Don’t crowd with logos or SIG codes.
• Set module width (narrow bar) ≥ 3–4 dots on 203-dpi printers; increase height to improve first-pass reads.
• Print in portrait if the label is narrow; some scanners struggle with tiny landscape barcodes.
• Keep NDC text (hyphenated) under the symbol for audit while the barcode encodes the 11-digit NDC.
Customer
What if our PMS can’t output 11 digits? Can we transform it on the printer?
Technician avatar Technician
Two options:
• Use a template variable rule in your label editor to remove dashes and left-pad with 0 to 11 digits.
• Advanced (Zebra): generate ZPL with a variable and use ^FN/^FD logic or a small middleware script to normalize before printing. We can provide a drop-in ZPL snippet if needed.
Either way, scanners and wholesalers expect an 11-digit NDC in the Code 128 stream.
Customer
This fixes the label. Can you help us standardize across DYMO at the pickup window too?
Technician avatar Technician
Absolutely. We’ll mirror the same NDC barcode rules on DYMO (Code 128, 11-digit input, quiet zone), align darkness/speed, and publish one pharmacy label template for all stations. Need hands-on help? Open the chat and we’ll remote in to normalize templates, drivers, and ZPL/DYMO settings.

Quick answer: the accepted fix

Accepted fix when a pharmacy prescription label is missing the NDC barcode: set the barcode object to Code 128 / GS1-128, bind it to the correct NDC field, and output an 11-digit zero-padded NDC without hyphens. Enable printer-resident barcodes (ZPL/DYMO), keep proper quiet zones, and calibrate darkness/speed. This restores a scannable NDC barcode on Zebra/DYMO/TSC labels.


Common reasons an NDC barcode won’t print (Zebra/DYMO/TSC)

Wrong symbology (Code39/UPC instead of Code 128), NDC10 vs NDC11 mismatch, disabled printer-resident barcodes, or a template pointing to the wrong data mapping are the top causes. Others include tiny module width on 203-dpi printers, labels printed as raster images, or a DYMO text object used instead of a barcode control. Fixing those restores the NDC barcode on pharmacy labels.

How to verify the barcode is compliant

Scan the printed label into a notepad field; confirm an 11-digit numeric result. Check the symbol for readable HRI text. Validate the quiet zone around the barcode and ensure contrast is dark and crisp. If the pharmacy board, wholesaler, or insurer requires GS1-128 with application identifiers, choose that profile in the editor; otherwise standard Code 128 (subset C) is typically accepted for NDC barcodes.

NDC barcode — quick troubleshooting checklist

Most failures are formatting or template issues, not printer hardware.

Quick path: set Code 128/GS1-128 → map to NDC11 (strip dashes, left-pad 0) → enable printer barcodes (ZPL/DYMO) → ensure quiet zone and adequate bar width → calibrate media/darkness. This sequence resolves the majority of pharmacy label NDC not printing cases.

Disclaimer: This information is AI-generated and intended for general guidance only. For advice specific to your environment, please consult a verified expert on Whizz-Tech before making decisions.


Getting Started Is Easy

Ask for help, 24/7

Members enjoy round-the-clock access to 12,000+ verified Experts, including tech support, mechanics, vets, and more.

Expert will respond in minutes

We match you with an Expert who specializes in your situation. Talk, text, or chat — whichever you prefer.

Save time & money

No scheduling hassles or expensive consults. Membership can save you significant time and money each month.

FAQ

Why is the NDC barcode missing on my pharmacy label?

Most often the template uses the wrong barcode symbology, maps to the wrong field, or encodes NDC10 with hyphens when your scanner expects NDC11 without dashes. Driver settings that rasterize barcodes can also cause blanks.

What barcode type should I use for NDC?

Use Code 128 (subset C) or GS1-128 if your wholesaler/insurer requires GS1 application identifiers. Avoid Code39/UPC for NDC.

Do I need 10-digit or 11-digit NDC?

Print the barcode as an 11-digit, zero-padded NDC (no hyphens). You may still show the hyphenated text (e.g., 1234-5678-90) as HRI for readability.

Will Zebra/DYMO settings affect barcode quality?

Yes. Enable printer-resident barcodes (ZPL/DYMO), set adequate darkness and print speed, keep a quiet zone, and use appropriate module width for 203-dpi devices.

Common NDC barcode problems and quick fixes
SymptomLikely causeQuick fix
NDC barcode area is blank Wrong symbology or rasterized output Use Code 128/GS1-128; enable printer barcodes (ZPL/DYMO)
Scanner reads wrong digits NDC10 with hyphens Normalize to NDC11 (strip dashes, pad with 0)
Only human-readable text prints Template mapped to text object Bind barcode object to the NDC field
Intermittent scan failures Bar too small / poor contrast Increase height/module width; adjust darkness/speed; keep quiet zone

Step-by-step (Windows workstations)

  1. Open the pharmacy label template and set the NDC object to Code 128 / GS1-128.
  2. Map the data source to NDC11; remove hyphens and left-pad 0 if needed.
  3. In Zebra/DYMO driver preferences, enable printer-resident barcodes and select the correct stock size.
  4. Calibrate media, increase darkness if bars are faint, and print a test label to verify scanning.

Note for mixed environments (macOS)

  1. In label apps on macOS, choose Code 128 and ensure the data transform outputs 11 digits without hyphens.
  2. On AirPrint/IPP queues, avoid sending barcodes as images; use the vendor driver when possible for crisp symbols.

Sources

Matt Verified Icon
Matt ● replies in < 1 min
Technician Expert
⭐⭐⭐⭐⭐ Trusted by 27,000+ customers
Avatar
Alex · Expert's Assistant