Structured Product Labeling (SPL): The FDA XML Standard, Explained
Structured Product Labeling is the document markup standard FDA requires for submitting labeling and product information. It is an HL7 standard, and an SPL file is XML: the same content a prescriber reads on a package insert, marked up so that a machine can find each section reliably.
Every label on DailyMed is published from an SPL file the manufacturer submitted to FDA.
Purpose
Before SPL, labeling arrived as prose that software could not parse, which made basic questions expensive: which products contain this active ingredient, which labels carry this warning, what changed between two versions.
SPL fixes each section to a defined place in an XML document, and annotates those sections with LOINC codes, so "Indications and Usage" is identifiable by code rather than by matching a heading. The result is labeling that supports querying, comparison and automated safety surveillance.
As of FDA's 31 August 2026 update, openFDA holds 262,325 labeling documents drawn from SPL, alongside 137,590 entries in the NDC directory.
Submission types
SPL carries several submission types besides the package insert:
- Content of labeling: prescription drugs, OTC products and biologics.
- Drug listing: the products a company markets, and their NDCs.
- Establishment registration: the facilities involved, and their registration numbers.
- Other listings: including certain veterinary and blood products.
Companies producing prescription, OTC, biologic and veterinary products, along with distributors, submit registration and listing information to FDA in SPL format rather than on paper.
Document structure
Structurally, an SPL file has a header carrying identifiers and metadata: the document ID, the set ID that ties every version of a label together, the version number, the effective date, and the labeler organization with its DUNS number.
Then a body of coded sections, each with a LOINC code, holding the labeling content itself, and data elements describing the products: NDC codes, active and inactive ingredients with strengths, dosage form, route of administration, packaging configurations and marketing category.
The document ID and set ID are the identifiers most often confused:
- Document ID is unique to one version of one label.
- Set ID stays constant across every version of that label.
A label update is a new document ID with the same set ID and an incremented version number. Getting this wrong creates a duplicate listing rather than an update, a common SPL error.
Route to DailyMed
The manufacturer prepares and validates the SPL and submits it through the Electronic Submissions Gateway, and FDA publishes it to DailyMed, run by the National Library of Medicine as the official public source of current FDA drug labeling.
DailyMed and FDALabel draw on the same underlying data with different search behavior and different displays, which is why the two sometimes look like they disagree when they do not.
Because DailyMed is public and current, it is also the fastest way to check what a competitor's approved labeling actually says, rather than what their marketing implies.
Common SPL errors
- Set ID reused or changed incorrectly. A new set ID creates a new product listing instead of a new version of an existing one.
- NDC formatting. The 10-digit and 11-digit forms are not interchangeable, and the segment lengths vary by labeler.
- Validation failures on required elements. SPL is validated programmatically; a missing coded element fails on submission rather than being queried later.
- Labeling content that does not match the approved application. Valid SPL confers no approval: text the application does not support is still unsupported, and promotional review still applies.
- Listing left stale. Drug listing has to be kept current. Products no longer marketed need their listing ended.
Frequently asked questions
What is Structured Product Labeling?
An HL7 document markup standard, adopted by FDA, that defines drug labeling and product information as XML so it can be exchanged and queried reliably rather than read as prose.
Is SPL required?
Yes. Companies marketing prescription, OTC, biologic and veterinary products, and distributors, must submit labeling, drug listing and establishment registration information to FDA in SPL format.
What is the difference between a document ID and a set ID?
The document ID identifies one version of a label. The set ID stays the same across every version, tying the history together. An update reuses the set ID with a new document ID and a higher version number.
What are LOINC codes doing in SPL?
They identify each labeling section by code rather than by heading text, so software can locate "Indications and Usage" or "Warnings" reliably across hundreds of thousands of labels.
What is DailyMed?
The National Library of Medicine's public source of current FDA drug labeling, published from the SPL files manufacturers submit to FDA.
Is SPL the same as the package insert?
The SPL carries the content of the package insert, plus product and establishment data, in a structured format. The insert is one rendering of part of it.