The manifest is the LMS's map of the package
imsmanifest.xml is the primary description file in a SCORM content package. It tells a compatible LMS what the package contains, how its learning content is organised and which resources can be launched.
It should sit at the root of the SCORM ZIP. If it is missing or buried inside an extra folder, many LMSs will reject the upload because they cannot identify the package.
The main parts in plain English
- Metadata: information describing the package and standard.
- Organizations: the activity/content structure presented to the LMS.
- Items: nodes within that organisation, often linked to launchable resources.
- Resources: definitions of the files or SCOs and their launch locations.
How a launchable resource connects
An item can reference a resource identifier. That resource points to the HTML launch file and can list supporting assets. If the manifest says the launch file is course/index.html but that path does not exist, the package may import yet fail at launch.
Why ZIP structure causes so many errors
The correct pattern is usually:
course.zip
├── imsmanifest.xml
├── index.html
├── scripts/
└── assets/A common mistake is:
course.zip
└── course-folder/
├── imsmanifest.xml
└── index.htmlThe second structure puts the manifest one level too deep for LMSs expecting it at package root.
The manifest also reflects the SCORM version
SCORM 1.2 and SCORM 2004 use related but different schemas and capabilities. SCORM 2004 can include sequencing and delivery controls that affect rollup and completion behaviour. Do not change the declared standard casually after export.
See SCORM 1.2 vs SCORM 2004 for the practical choice.
Should you edit imsmanifest.xml manually?
For normal course production, prefer fixing the source or publish settings and re-exporting. Manual edits can be useful for specialists diagnosing packaging or sequencing, but they are easy to invalidate and may be overwritten on the next publish.
Manifest troubleshooting checklist
- Manifest exists and is at ZIP root
- XML is well formed
- Declared resource paths exist
- Filename case matches exactly
- Launch resource points to the intended file
- SCORM version/schema matches the export
- Package is retested after any change
Then follow the SCORM testing workflow.
Put the guidance into practice
Build a real course in Lumeo, preview it in the browser, and export it to SCORM, standalone HTML or PDF. The free plan does not require a payment card.