Assyro AI
Assyro AI logo background
structured product labeling
spl fda
spl format
fda labeling requirements
drug labeling format

Structured Product Labeling: Complete SPL Format Guide for FDA Drug Labeling 2026

Technical Guide

Structured product labeling (SPL) is the FDA-required XML format for drug labels. Learn SPL format requirements, validation rules, and submission best.

Assyro Team
24 min read

Structured Product Labeling: Complete Guide to FDA's SPL Format Requirements

Quick Answer

Structured product labeling (SPL) is the FDA-required XML format that all drug manufacturers must use to submit prescription drug, OTC drug, and biological product labeling since 2009. SPL uses Health Level Seven (HL7) standards to create machine-readable labeling documents with semantic tagging (LOINC codes), ingredient identifiers (UNII codes), and structured product information that FDA systems can automatically validate and route to DailyMed. Understanding SPL format, validation requirements, and common error prevention is essential for any regulatory professional preparing drug submissions.

Key Takeaways

Key Takeaways

  • Structured Product Labeling (SPL) is the mandatory XML format for all drug labeling submitted to FDA since 2009
  • SPL uses HL7 standards with LOINC codes for semantic tagging and UNII codes for ingredient identification
  • Common SPL validation errors include incorrect LOINC codes, missing UNII identifiers, and malformed XML structure
  • All SPL submissions are published on DailyMed, making accurate labeling content critical for public-facing drug information
  • Structured product labeling (SPL) is the FDA-mandated XML-based format for submitting prescription drug labeling, over-the-counter (OTC) drug labeling, and biological product labeling. SPL enables machine-readable, standardized product information exchange between manufacturers and regulatory authorities.
  • If you're preparing drug labeling for FDA submission, understanding SPL format requirements is not optional. Every prescription drug application (NDA, ANDA, BLA) requires SPL-formatted labeling, and errors in SPL structure or content can delay approval or result in FDA information requests.
  • The regulatory burden is real: a single SPL validation error can add weeks to your submission timeline, and non-compliant labeling can trigger FDA 483 observations during inspections. For full details on content requirements, see our drug labeling requirements guide.
  • In this guide, you'll learn:
  • What structured product labeling is and why FDA requires it
  • The complete SPL format specification and XML structure requirements
  • How to validate SPL files against FDA labeling requirements before submission
  • Common SPL validation errors and how to prevent them
  • Step-by-step process for creating compliant SPL documents
  • The difference between SPL and other drug labeling formats
  • ---

What Is Structured Product Labeling?

Definition

Structured product labeling (SPL) is an HL7 V3-compliant XML document format developed by Health Level Seven and mandated by the FDA for electronic submission of drug product labeling. SPL encodes prescription drug labels, OTC drug labels, and biological product labels using the HL7 Clinical Document Architecture (CDA) Release 2.0 specification, with required semantic coding using LOINC codes for sections, UNII codes for active ingredients, and FDA-standardized terminology for routes, dosage forms, and NDC codes.

Structured product labeling (SPL) is an XML-based document markup standard developed by Health Level Seven (HL7) and adopted by the FDA for electronic submission of product labeling information. SPL uses the HL7 Clinical Document Architecture (CDA) to create machine-readable, structured representations of drug product information.

Key characteristics of structured product labeling:

  • XML-based format that encodes labeling content, metadata, and hierarchical structure
  • HL7 V3 compliant using the Clinical Document Architecture Release 2.0 specification
  • Mandatory for all FDA drug submissions including NDAs, ANDAs, BLAs, and annual labeling updates
  • Supports multiple labeling types including prescribing information, patient package inserts, and medication guides
  • Enables automated processing of labeling data by FDA systems, healthcare databases, and clinical decision support tools
Key Statistic

The FDA has required SPL format for all prescription drug labeling submissions since June 2009, following the phased implementation timeline established in the 2006 Physician Labeling Rule (PLR).

Why FDA Requires Structured Product Labeling Format

The FDA's mandate for SPL format stems from critical needs in drug safety surveillance, labeling consistency, and public health information access.

Regulatory Background

Prior to SPL implementation, drug manufacturers submitted labeling in unstructured formats (PDF, Microsoft Word) that required manual processing by FDA reviewers. This created several problems:

  • Manual data entry errors when FDA staff transcribed labeling into DailyMed
  • Delays in making updated labeling information publicly accessible
  • Inability to automatically compare labeling across similar products
  • Challenges in identifying labeling deficiencies during application review

The FDA's adoption of structured product labeling addresses these issues by requiring machine-readable, standardized format that can be:

  1. Automatically validated against FDA labeling requirements
  2. Immediately published to DailyMed upon approval
  3. Systematically analyzed for safety signal detection
  4. Programmatically compared across therapeutic classes

Legal Requirements

FDA labeling requirements for SPL are codified in:

  • 21 CFR 314.50(l)(2) for NDA applications
  • 21 CFR 314.94(a)(8)(iv) for ANDA applications
  • 21 CFR 601.14 for BLA applications
  • 21 CFR 314.70(b) for annual labeling updates

Failure to submit compliant SPL can result in:

  • Refusal to file (RTF) actions
  • Complete response letters citing labeling deficiencies
  • Regulatory holds on application approval
  • Warning letters for commercial products with non-compliant labeling

SPL Format Structure and Technical Specifications

Core SPL Document Components

Every SPL document consists of three primary structural elements:

SPL ComponentPurposeFDA Requirement
Document HeaderContains metadata about the labeling document, version, submission date, and responsible partiesMANDATORY - must include unique document ID, version number, effective date
Document BodyContains the actual labeling content organized into sections (indications, dosage, warnings, etc.)MANDATORY - must follow FDA-specified section ordering and numbering
Product InformationEncodes structured data about drug products, ingredients, packaging, and NDC codesMANDATORY - must include all marketed configurations

XML Namespace Requirements

SPL documents must declare specific XML namespaces to be valid:

[@portabletext/react] Unknown block type "code", specify a component for it in the `components.types` prop

The HL7 V3 namespace (urn:hl7-org:v3) is required for all SPL elements. Any SPL file that does not properly declare this namespace will fail FDA validation at the gateway.

Pro Tip

Always validate your XML namespace declarations before submitting. Copy the namespace declaration from FDA-published SPL template examples rather than manually typing it to avoid typos that cause gateway rejections. Most commercial SPL authoring tools auto-generate correct namespaces, but hand-edited files are particularly vulnerable to this error.

Document Header Elements

The SPL header must contain these required elements:

ElementDescriptionExample Value
<id root="">Unique document identifier (UUID)2f3a4b5c-1234-5678-9abc-def012345678
<code code="">Document type code from SPL vocabulary34391-3 (Human prescription drug labeling)
<effectiveTime value="">Date labeling becomes effective20260124 (YYYYMMDD format)
<versionNumber value="">Sequential version number1, 2, 3, etc.
<author>Sponsor/manufacturer informationMust include organization name and contact

Document Body Structure

SPL format organizes labeling content into numbered sections that correspond to the Physician Labeling Rule (PLR) section ordering:

Section NumberSection TitleLOINC CodeRequired For
1Highlights of Prescribing Information34391-3Prescription drugs
2Boxed Warning34066-1Only if applicable
3Recent Major Changes43683-2If changes in past year
4Indications and Usage34067-9All drug products
5Dosage and Administration34068-7All drug products
6Dosage Forms and Strengths43678-2All drug products
7Contraindications34070-3All drug products
8Warnings and Precautions43685-7All drug products
9Adverse Reactions34084-4All drug products
10Drug Interactions34073-7If applicable
11Use in Specific Populations43684-0All drug products
12Clinical Pharmacology34090-1All drug products
13Nonclinical Toxicology34083-6All drug products
14Clinical Studies34092-7If applicable
15References44877-3If applicable
16How Supplied/Storage and Handling34069-5All drug products
17Patient Counseling Information42231-1All drug products

SPL Section Encoding

Each section must be encoded with the correct LOINC code to ensure proper display in DailyMed and other downstream systems:

[@portabletext/react] Unknown block type "code", specify a component for it in the `components.types` prop

SPL FDA Requirements: What Makes Labeling Compliant

Mandatory Content Requirements

FDA labeling requirements for structured product labeling go beyond just XML format compliance. The content itself must meet specific regulatory standards.

Prescription Drug Labeling (PLR Format)

For prescription drugs approved after June 2001, SPL must follow the Physician Labeling Rule content and format requirements:

  • Highlights section limited to 0.5 pages
  • Boxed warning (if applicable) must appear in both Highlights and Full Prescribing Information
  • Recent Major Changes must include section references and dates
  • Table of Contents must be auto-generated from section codes
  • Specific population subsections must follow standardized ordering (pregnancy, lactation, pediatric, geriatric)

Established Name and Proper Name

SPL format requires specific encoding of drug names:

Name TypeSPL ElementRequirement
Established Name<name>Required - must match approved labeling
Proper Name<formCode>Required - dosage form designation
Brand Name<manufacturedProduct>Optional - proprietary name

Product Information Encoding

Beyond the labeling text, SPL must encode structured product data:

Required product elements:

  • Active ingredients with UNII codes
  • Inactive ingredients (for certain product types)
  • Dosage form (using FDA dosage form vocabulary)
  • Route of administration (using FDA route vocabulary)
  • Product and package NDC codes
  • Imprint codes (for solid oral dosage forms)

Example active ingredient encoding:

[@portabletext/react] Unknown block type "code", specify a component for it in the `components.types` prop

How to Create SPL Documents: Step-by-Step Process

Step 1: Select the Appropriate SPL Document Type

Different submission types require different SPL document type codes:

Submission TypeSPL Document CodeDocument Type Name
Prescription drug34391-3Human Prescription Drug Labeling
OTC drug34393-9Human OTC Drug Labeling
Biological product51726-8Prescription Biological Product Labeling
Generic drug (ANDA)34391-3Human Prescription Drug Labeling
Abbreviated labelingvariesDepends on product type

Step 2: Generate Unique Document Identifiers

Every SPL document requires a globally unique identifier (GUID) for:

  • The document itself (<id root=""> in header)
  • Each section (<id root=""> in section)
  • The set ID that links all versions of the same labeling

Best practice: Use UUID version 4 format: 550e8400-e29b-41d4-a716-446655440000

Many SPL authoring tools auto-generate these IDs, but manual creation requires UUID generation following RFC 4122.

Step 3: Structure Content into Required Sections

Map your labeling content to the mandatory section structure:

  1. Review approved labeling (for supplements/amendments) or draft labeling (for original applications)
  2. Identify all required sections based on product type and application type
  3. Assign LOINC codes to each section from the FDA-published SPL section vocabulary
  4. Nest subsections properly using <component> elements
  5. Tag all cross-references using <linkHtml> elements
Pro Tip

Create a mapping spreadsheet that links your approved labeling sections to required LOINC codes before you start XML authoring. This single document will serve as your validation checklist and prevent missing-section errors that cause gateway rejections. Include columns for section title, LOINC code, whether it's required for your product type, and whether you've completed the SPL encoding-this systematic approach catches gaps early.

Step 4: Encode Active Ingredients with UNII Codes

The FDA requires all active ingredients to be tagged with Unique Ingredient Identifiers (UNII):

Where to find UNII codes:

  • FDA Global Substance Registration System (GSRS): https://gsrs.ncats.nih.gov/
  • Search by ingredient name, CAS number, or chemical structure
Pro Tip

When searching the FDA GSRS for UNII codes, always note whether you need the code for the salt form or base form of your ingredient-these have different UNII codes. For example, metformin HCl and metformin hydrochloride are sometimes listed separately. Check your approved labeling to see which salt form was authorized, then use the matching UNII code in your SPL.

Common UNII encoding errors:

  • Using CAS numbers instead of UNII codes
  • Incorrect UNII for salt vs. base forms
  • Missing codeSystem attribute (2.16.840.1.113883.4.9)

Step 5: Validate SPL Against FDA Requirements

Before submission, all SPL documents must pass multiple validation layers:

Validation TypeWhat It ChecksTools
XML Schema ValidationValidates XML syntax and structure against SPL XSDXMLSpy, Oxygen XML, SPL authoring tools
Schematron ValidationValidates business rules and FDA-specific requirementsFDA SPL Validator, commercial tools
Terminology ValidationValidates LOINC codes, UNII codes, route codes, dosage form codesFDA SPL Validator
Content ValidationChecks for required sections, proper nesting, and content completenessManual review + validation tools
Pro Tip

Don't skip pre-submission validation using the FDA SPL Validator tool. Run validation locally before submitting through the Electronic Submissions Gateway-the gateway will perform the same checks and reject non-compliant files, which means you've wasted submission time and processing fees. Using local validation tools first allows you to catch and fix errors immediately without FDA rejection cycles.

Step 6: Generate Package and Product Information

For each NDC code associated with the product, create structured package information:

[@portabletext/react] Unknown block type "code", specify a component for it in the `components.types` prop

Required package elements:

  • NDC code in 5-4-2 format
  • Package description
  • Package quantity
  • Package type (bottle, blister, etc.)

SPL Validation: Common Errors and How to Fix Them

Top 10 SPL Validation Errors

Based on FDA submission data and validation tool reports, these are the most frequent SPL errors:

Error TypeFrequencyImpactCommon Cause
Missing required section28%Validation failureIncomplete section mapping
Invalid LOINC code22%Validation failureUsing outdated codes or typos
Malformed XML syntax18%Parse failureHand-editing XML without validation
Missing UNII code15%Validation failureIncomplete ingredient encoding
Incorrect namespace12%Parse failureCopy-paste from old templates
Invalid NDC format10%Validation failureUsing 10-digit instead of 11-digit format
Missing effectiveTime8%Validation failureIncomplete header metadata
Cross-reference errors7%Display issuesBroken internal links
Invalid dosage form code5%Validation failureUsing non-FDA vocabulary
Character encoding issues3%Display problemsNon-UTF-8 encoding

How to Fix: Missing Required Sections

Error message:

[@portabletext/react] Unknown block type "code", specify a component for it in the `components.types` prop

Solution:

  1. Review FDA section requirements for your product type
  2. Add missing section with correct LOINC code
  3. Ensure section has required <code>, <title>, and <text> elements
  4. Re-validate against SPL schema

How to Fix: Invalid UNII Codes

Error message:

[@portabletext/react] Unknown block type "code", specify a component for it in the `components.types` prop

Solution:

  1. Search FDA GSRS for correct UNII: https://gsrs.ncats.nih.gov/
  2. Replace incorrect code with valid UNII
  3. Verify codeSystem attribute is 2.16.840.1.113883.4.9
  4. For combination products, ensure all active ingredients have UNII codes

How to Fix: Malformed XML

Error message:

[@portabletext/react] Unknown block type "code", specify a component for it in the `components.types` prop

Solution:

  1. Ensure <paragraph> is nested inside <text> element
  2. Validate XML structure against SPL XSD schema
  3. Use XML editing tool with real-time validation
  4. Check for unclosed tags and proper nesting hierarchy

SPL Format vs. Other Drug Labeling Formats

SPL vs. PDF Labeling

FeatureSPL FormatPDF Labeling
StructureMachine-readable XML with semantic tagsUnstructured document
ValidationAutomated validation against FDA requirementsManual review only
DailyMed PublishingAutomatic upon approvalManual FDA processing required
Cross-referencingStructured internal linksStatic page references
Data ExtractionProgrammatic access to specific sectionsManual copy-paste or OCR
FDA RequirementMandatory for all submissions since 2009Not accepted for electronic submissions
Update ProcessSubmit new SPL version with incremented version numberReplace entire PDF
Terminology CodingRequired (LOINC, UNII, RxNorm)Optional or absent

SPL vs. eCTD Module 1.3.1

SPL is submitted as part of the eCTD (electronic Common Technical Document) but serves a different purpose:

AspectSPLeCTD Module 1.3.1
PurposeEncode labeling content in structured formatContainer for regional administrative information
LocationUS: m1/us/13-labeling/spl-file.xmlUS-specific module in eCTD
FormatHL7 V3 XMLPDF + XML wrapper
ValidationSPL-specific validation ruleseCTD technical validation
ContentOnly approved labeling textMay include draft labeling, annotated labeling, comparison tables

The key difference: SPL is the authoritative, structured representation of approved labeling, while eCTD Module 1.3.1 contains all labeling-related documents for the submission, including SPL files.

SPL vs. Labeling Text Files

Prior to SPL adoption, sponsors submitted labeling as text files (.txt format). Key differences:

FeatureSPLText File Labeling (Pre-2009)
Section IdentificationLOINC codes uniquely identify sectionsSection numbers/headings only
Ingredient CodingUNII codes link to substance databaseText names only
Table EncodingStructured HTML tables within XMLASCII art or tab-delimited
Special CharactersUTF-8 encoding supports full character setLimited to ASCII
Version ControlDocument ID + version numberManual file naming
Regulatory StatusCurrent FDA requirementNo longer accepted

SPL Authoring Tools and Software Options

FDA-Recognized SPL Authoring Tools

Tool TypeExamplesBest ForCost
Commercial SPL SoftwareEnnov SPL Manager, MasterControl Labeling, Veeva VaultEnterprise labeling management with workflow$$$$
XML Editors with SPL SupportOxygen XML Editor, XMLSpyTechnical users comfortable with XML$$
Free SPL ToolsFDA SPL Author Tool (discontinued), Open-source templatesSmall companies with technical resourcesFree
Regulatory ServicesCRO labeling services, consultantsCompanies outsourcing labeling creation$$$

Recommended Approach by Company Size

Small biotech (1-10 products):

  • Use XML editor (Oxygen or XMLSpy) with SPL templates
  • Validate with FDA SPL Validator
  • Consider CRO support for first submission

Mid-size pharma (10-50 products):

  • Invest in commercial SPL authoring software
  • Implement labeling change control workflows
  • Train in-house regulatory labeling specialists

Large pharma (50+ products):

  • Enterprise labeling management system required
  • Integration with global labeling repositories
  • Automated validation and submission workflows
Pro Tip

If you're a small biotech considering your first SPL authoring tool, start with CRO support for your first 2-3 submissions while your regulatory team learns the process. The investment in external expertise upfront (typically $5,000-$15,000) is far less expensive than internal tools ($10,000-$50,000+ annually) plus training time. Once your team has produced 3-4 compliant SPL files with CRO guidance, you'll have documented standards and process templates to build internal capability.

SPL Submission Process and FDA Review

Where to Submit SPL Files

SPL documents are submitted through the FDA Electronic Submissions Gateway (ESG) as part of:

  1. Original Applications: NDA, ANDA, BLA - SPL in eCTD Module 1.3.1
  2. Labeling Supplements: Changes Being Effected (CBE), Prior Approval Supplements (PAS)
  3. Annual Reports: Updated SPL reflecting all approved labeling changes
  4. Standalone SPL Updates: For minor editorial corrections

SPL Validation at FDA Gateway

When you submit through ESG, the gateway performs automatic SPL validation:

Validation checkpoints:

  • XML well-formedness (can the file be parsed?)
  • Schema validation (does structure match SPL XSD?)
  • Terminology validation (are LOINC, UNII, NDC codes valid?)
  • Document ID uniqueness (is this a duplicate submission?)

Possible outcomes:

OutcomeMeaningNext Steps
AcceptedSPL passed all gateway validationsProceeds to FDA review
RejectedSPL has validation errorsFix errors and resubmit
Accepted with WarningsNon-critical issues detectedFDA may request corrections in review

FDA Review of SPL Content

Beyond automated validation, FDA labeling reviewers assess:

  • Consistency with approved indications - Does labeling match what FDA approved?
  • Accuracy of safety information - Are warnings, precautions, adverse reactions current?
  • Compliance with PLR format - Does structure follow Physician Labeling Rule?
  • Completeness - Are all required sections present with appropriate content?
  • Clarity and readability - Is labeling understandable to target audience?

FDA may issue information requests or require labeling revisions even if SPL validation passed.

Maintaining SPL Compliance: Ongoing Requirements

When SPL Updates Are Required

FDA regulations require SPL updates in these situations:

Trigger EventTimelineSubmission Type
Boxed warning addition30 daysCBE-0 supplement
Contraindication change30 daysCBE-0 supplement
New safety information30 daysCBE-0 supplement
New indication approvalUpon approvalPrior Approval Supplement
Manufacturing changeVariesAnnual report or supplement
Product discontinuation30 daysUpdate SPL status in DailyMed
Minor editorial correctionsAs neededAnnual report

SPL Version Control Best Practices

Every time you update labeling, you must create a new SPL version:

Required version changes:

  • Increment <versionNumber> by 1
  • Update <effectiveTime> to new effective date
  • Generate new <id> (document ID) - each version has unique ID
  • Keep same <setId> - links all versions of the same product

Example version progression:

SubmissionVersion NumberEffective DateDocument ID
Original approval12024-03-15abc-123-original
Safety update22024-08-22abc-123-version2
Indication expansion32025-02-10abc-123-version3
Editorial correction42025-06-01abc-123-version4

DailyMed Monitoring

After FDA approval, your SPL is automatically published to DailyMed (https://dailymed.nlm.nih.gov/).

Monitor DailyMed for:

  • Correct display of all labeling sections
  • Proper rendering of tables and formatting
  • Accurate product metadata (NDC, ingredients, etc.)
  • Broken links or display errors

If you identify DailyMed display issues, contact FDA's Labeling Team or submit corrected SPL.

Key Takeaways

Structured product labeling (SPL) is the FDA-mandated XML format for submitting drug product labeling information. SPL uses the HL7 Clinical Document Architecture to create machine-readable representations of prescribing information, enabling automated processing by FDA systems and public databases like DailyMed. All prescription and OTC drug applications submitted to FDA since 2009 must include SPL-formatted labeling.

Key Takeaways

  • Structured product labeling is mandatory: All FDA drug submissions since 2009 require SPL format for labeling, with no exceptions for prescription drugs, OTC drugs, or biologics.
  • SPL is more than XML formatting: Beyond technical structure, SPL requires accurate LOINC codes, UNII ingredient identifiers, and compliance with FDA content requirements outlined in the Physician Labeling Rule.
  • Validation is multi-layered: Successful SPL submission requires passing XML schema validation, Schematron business rules, terminology validation, and FDA content review.
  • Common errors are preventable: The top SPL validation errors - missing sections, invalid codes, and malformed XML - can be avoided with proper authoring tools and pre-submission validation.
  • SPL is a living document: Labeling updates trigger new SPL versions with incremented version numbers, updated effective dates, and new document IDs while maintaining the same set ID for version linking.
  • ---

Next Steps

Preparing compliant structured product labeling requires expertise in FDA regulations, XML structure, and terminology systems. Labeling errors delay approvals and create regulatory risk.

Organizations managing regulatory submissions benefit from automated validation tools that catch errors before gateway rejection. Assyro's AI-powered platform validates eCTD submissions against FDA, EMA, and Health Canada requirements, providing detailed error reports and remediation guidance before submission.

References