If you manage training within your organisation and use an LMS platform, you’ve probably heard of SCORM without being entirely sure what it actually involves in practice. This article explains what it is, what it’s used for, what versions are available, and how to use it within HR or L&D.
What is SCORM and what is it used for?
SCORM (Sharable Content Object Reference Model) is a set of technical standards that governs how online learning content is packaged, distributed and tracked within an LMS. Its main purpose is to ensure that a course created using any authoring tool works correctly on any compatible platform, without any further developments.
Thanks to SCORM, the LMS knows whether a user has completed a course, what mark they have achieved, how much time they have spent on it and where they left off. It is this communication between the content and the platform that makes it possible to traceability of compulsory training.
SCORM 1.2 vs SCORM 2004: key differences
There are two main versions, and it is important to choose the right one.
SCORM 1.2 It is the most widely used version. It offers greater platform compatibility and is the default option in most authoring tools. Its limitations lie in the sequencing of content and the richness of the data it can provide.
SCORM 2004 It enhances tracking capabilities and enables advanced sequencing rules. However, its implementation varies across platforms and may lead to incompatibilities if the LMS does not fully support it.
| SCORM 1.2 | SCORM 2004 | |
| Compatibility | Very high | Medium-high |
| Follow-up | Basic | Advanced |
| Sequencing | Limited | Complete |
The general recommendation: Use SCORM 1.2 unless you need advanced sequencing and you have confirmed that your LMS supports SCORM 2004 correctly.
What is a SCORM package and what does it contain?
A SCORM package is a .zip file containing the course and instructions so that the LMS can recognise it. Inside, you’ll find the content files (HTML, images, videos) and a file called imsmanifest.xml, the “index” that tells the platform how the course is structured and how it should behave.
You do not need to understand XML. The authoring tools generate the package automatically when exporting in SCORM format.
A step-by-step guide to uploading a SCORM package to an LMS
The process is similar on most platforms:
- Export the course in SCORM format from your authoring tool. Select the appropriate version.
- Access the admin panel and look for the option to import content.
- Upload the .zip file without unzipping it. The LMS processes this internally.
- Configure the tracking settings: completion criteria, permitted attempts and progression mode.
- Try out the course using a student profile before publishing it, to check that the tracking is working.
Common errors when importing a SCORM file and how to resolve them
The course has not been marked as completed. This is usually due to a discrepancy between the ‘completed’ status for the module and the setting configured in the LMS. Please check that the two are aligned.
Punctuation is not saved. Check that the authoring tool sends the data to the correct field: `cmi.core.score.raw` in SCORM 1.2 and `cmi.score.raw` in SCORM 2004.
The course freezes when it resumes. The package may not be handling the suspend state correctly. Check the “suspend data” settings in the authoring tool.
SCORM vs xAPI: when should you use each one?
xAPI (Tin Can) was developed to overcome the limitations of SCORM. It does not require an LMS to function and can record learning experiences outside the virtual classroom: on-the-job training, simulations and offline mobile learning.
xAPI makes sense when you need to record informal learning, track simulations or virtual reality, or when your learning data strategy goes beyond the LMS. For most organisations with structured online training, SCORM remains the most practical option, especially if you’re building training programmes by role and you need centralised traceability.
How do you create SCORM content?
SCORM content is created using authoring tools such as Articulate Storyline, Articulate Rise, iSpring or Adobe Captivate. All of these export directly to SCORM 1.2 or 2004.
If you work with a content provider, Check which version of SCORM your LMS supports before commissioning the development, to avoid any incompatibilities upon delivery.
At Educa.Pro, the content available in the catalogue is compatible with the most common LMS standards. Browse the catalogue and check with your account manager to find out which standards apply to your situation.
Is your SCORM package ready?
Check the four sections before uploading the content to your LMS
If the LMS cannot find it in the root directory, the package will not be imported correctly.
SCORM 1.2 or SCORM 2004: check with your platform provider to see which versions are supported.
The LMS displays this information to the learner. An empty identifier may cause conflicts when re-importing.
If the first object does not initialise the SCORM session, the LMS will not record any data.
In SCORM 1.2: cmi.core.session_time. In 2004: cmi.session_time. Check that the field is sent when the course is closed.
The `suspend_data` variable stores the student’s progress. Without it, the course restarts from the beginning each time it is accessed.
This may be based on viewing (100%), passing a test, or a combination of both. It must match the settings in the LMS.
If the course returns ‘passed’ but the LMS expects ‘completed’, the status will never be updated.
Don’t rely solely on the authoring tool’s preview. Always test it via the LMS.
Set the pass mark in both the authoring tool and the LMS so that they match.
SCORM 1.2 uses cmi.core.score.raw (0–100). SCORM 2004 uses cmi.score.raw with declared minimum and maximum values.
Access the monitoring report using the test profile and check that the data is being received correctly by the logger.
Frequently Asked Questions about SCORM
What does SCORM stand for?
It stands for Sharable Content Object Reference Model, a standard developed by Advanced Distributed Learning (ADL) to ensure the interoperability of online learning content.
What is the difference between SCORM and xAPI?
SCORM operates within the LMS whilst maintaining a constant connection. xAPI records learning in any context and stores the data in a separate repository (LRS). xAPI is more flexible but also more complex to implement.
How do I know if my LMS is SCORM-compatible?
SCORM compatibility is standard on most platforms. Please check your platform’s technical documentation or contact support to confirm which versions are supported.