I first came across SCORM about ten years ago. A client asked me to build a training module that would "work in their LMS (Learning Management System)." I was a web developer — I knew HTML, JavaScript, and CSS inside out — but I had no idea what SCORM was. I did what anyone would do: I Googled it. And I found page after page of impenetrable technical specifications that seemed to be written for nobody in particular.
It took me far longer than it should have to understand something that's actually quite simple. So I wrote this guide — the one I wish I'd had back then.
SCORM in One Sentence
SCORM is a set of rules that lets e-learning courses talk to a Learning Management System (LMS).
That's genuinely it. SCORM (Sharable Content Object Reference Model) is a technical standard that ensures your training content works with your LMS (the platform where your learners log in and take courses — think Moodle, Cornerstone, or SAP SuccessFactors).
Without SCORM, every LMS would need custom-built courses. With SCORM, a course built to the standard should work in any compliant LMS. Build once, deploy anywhere.
Why SCORM Exists
Here's the thing that made SCORM click for me: understanding why it was created.
Back in the late 1990s, the US Department of Defense had a problem. They were spending enormous amounts on e-learning, but nothing worked together. A course built for one Learning Management System couldn't run on another. Tracking was inconsistent. Moving platforms meant rebuilding everything from scratch. It was expensive chaos.
The Advanced Distributed Learning (ADL) initiative created SCORM to solve this. First released in 2000, it gave the industry a common language for:
- Packaging courses — how files are bundled and structured
- Launching courses — how an LMS opens and displays content
- Tracking progress — how the course reports back what the learner did
- Recording completion — how pass/fail and scores are communicated
How SCORM Actually Works
Once I understood the "why," the "how" became much less intimidating. When a learner clicks "Start Course" in their LMS, here's what happens behind the scenes:
1. The LMS Reads the Manifest
Every SCORM package includes a file called imsmanifest.xml. This is the table of contents — it tells the LMS what's in the package, what order things go in, and which file to launch first.
2. The Course Launches in a Browser Window
The LMS opens the course (usually in a new window or iframe). The course is essentially a small website — HTML, CSS, JavaScript, images, and media files.
3. The Course Talks to the LMS via an API
This is where SCORM earns its keep. The course uses JavaScript to communicate with the LMS through a standardised API. It sends data like:
- Completion status — has the learner finished?
- Score — what did they get on the quiz?
- Time spent — how long were they in the course?
- Bookmark — where did they leave off?
- Interactions — how did they answer each question?
4. The LMS Records Everything
The LMS stores all this data against the learner's record. Managers can then pull reports on who's completed what, average scores, time spent — all the things organisations need for compliance and development tracking.
That's really all there is to it. When I first dug into the SCORM specification, I expected something impossibly complex. The reality is that it's a fairly straightforward conversation between two systems: the course says "here's what happened," and the LMS writes it down.
SCORM Versions: 1.2 vs 2004
There are two versions of SCORM you'll encounter in practice. Both are still widely used.
SCORM 1.2 (Released 2001)
SCORM 1.2 is the workhorse of the e-learning world. It's simpler, more widely supported, and handles the basics well:
- Tracks status in a single field covering both completion and pass/fail: completed, incomplete, passed, failed, browsed, not attempted
- Records a single score (0–100)
- Saves a bookmark position
- Logs time spent
- Records basic quiz interactions
Choose SCORM 1.2 when: you need broad LMS compatibility, your tracking needs are straightforward, and you want the simplest path to a working course.
SCORM 2004 (Multiple Editions, 2004–2009)
SCORM 2004 added more sophisticated features:
- Sequencing and navigation — the course can control which sections are available based on what the learner has done
- Multiple score types — raw, scaled, minimum, maximum
- Detailed objectives tracking — track progress against multiple learning objectives, not just an overall score
- Better status model — separates completion status from success status (you can complete a course but fail it)
- Richer interaction data — more question types and response details
Choose SCORM 2004 when: you need complex sequencing, multiple objective tracking, or detailed reporting that goes beyond simple pass/fail.
I'll be publishing a deeper SCORM 1.2 vs SCORM 2004 comparison guide soon — if you'd like to know when it's live, get in touch.
What's in a SCORM Package?
A SCORM package is just a ZIP file with a specific structure. Inside you'll find:
- imsmanifest.xml — the manifest file that describes the package
- HTML files — the actual course pages
- JavaScript files — including the SCORM API communication code
- CSS files — styling for the course
- Media — images, audio, video files
- Quiz/interaction data — question banks, scoring logic
The ZIP file typically has a .zip extension. The SCORM specification also defines .pif (Package Interchange File) as a valid extension, though most LMS platforms accept standard .zip files.
Common Misconceptions About SCORM
"SCORM is a course builder"
No. SCORM is a standard, not a tool. You need an authoring tool to create SCORM courses. SCORM just defines how the finished product communicates with the LMS.
"SCORM handles video streaming"
No. SCORM packages contain files, but video is usually better hosted externally and embedded. Stuffing a 500MB video into a SCORM ZIP file is a recipe for upload failures and poor performance.
"SCORM courses are mobile-friendly by default"
Not necessarily. SCORM says nothing about responsive design or mobile compatibility. That depends entirely on how the course was built. A well-built course will work on mobile; a poorly built one won't — regardless of SCORM compliance.
"You need SCORM for all e-learning"
Not always. If you're hosting training on your own website without an LMS, you don't need SCORM. If you're using a modern platform like an LXP that supports other standards, you might use xAPI instead. SCORM is specifically for LMS-hosted training.
SCORM vs Other Standards
SCORM isn't the only game in town. Here's how it compares:
xAPI (Experience API / Tin Can)
xAPI is SCORM's successor. It can track learning experiences beyond the LMS — mobile apps, simulations, on-the-job activities, even classroom events. It's more flexible but requires more infrastructure (a Learning Record Store, or LRS).
AICC
AICC was an older standard that predated SCORM, primarily using HTTP-based communication rather than a JavaScript API. The AICC organisation dissolved in 2014 and the standard receives no further updates. Support is declining across the industry, and there's little reason to use it for new development.
cmi5
cmi5 combines the best of SCORM and xAPI. It uses xAPI for data transport but adds SCORM-like rules for LMS interoperability. It's gaining traction but isn't yet as widely supported as SCORM.
For most organisations today, SCORM 1.2 or SCORM 2004 remains the practical choice — it's universally supported, well-understood, and gets the job done.
When Do You Need SCORM?
You probably need SCORM if:
- Your organisation uses an LMS (Moodle, Totara, Cornerstone, SAP SuccessFactors, etc.)
- You need to track completion and scores
- Compliance or regulatory training requires proof of completion
- You want courses that work across different LMS platforms
- You're commissioning training from external developers
You probably don't need SCORM if:
- You're hosting training on a standalone website
- You only need video-based training (a simple video player might suffice)
- You're building informal learning resources like knowledge bases or wikis
Getting Started with SCORM
If you need SCORM courses for your organisation, you have a few options:
Build them yourself
Using an authoring tool like Articulate Storyline, Adobe Captivate, or iSpring Suite. This works well if you have someone with the time and skills to learn the tool. It's the most cost-effective for ongoing, high-volume content creation.
Convert existing content
If you have PowerPoint presentations, PDFs, or other materials, these can be converted to SCORM format. This is often the fastest path from existing training materials to LMS-hosted courses. I offer a PowerPoint to SCORM conversion service specifically for this.
Commission custom development
For complex, interactive courses that go beyond what templates offer, custom SCORM development gives you complete control over the learning experience. This is ideal for flagship training programmes, compliance courses with specific requirements, or when you need something that truly engages learners.
Troubleshooting SCORM
SCORM generally works well, but issues do crop up. The most common problems include:
- Courses not tracking completion in the LMS
- Scores not recording correctly
- Bookmarking (resume) not working
- Cross-browser compatibility issues
- Upload/import failures
Most tracking issues come down to the LMS's SCORM settings rather than the course itself — checking the LMS configuration is always the first step. For complex issues, I offer SCORM consultation services to help diagnose and resolve problems.
Wrapping Up
SCORM is one of those technologies that's far simpler than it sounds. At its core, it's just a way to make sure your training content and your LMS can talk to each other. It's been doing this reliably for over two decades, and despite newer alternatives, it remains the most practical choice for most organisations.
The key things to remember:
- SCORM is a communication standard, not a course builder
- SCORM 1.2 handles the basics well and has the broadest compatibility
- SCORM 2004 adds sequencing and detailed tracking for complex needs
- A SCORM package is just a ZIP file with HTML content and a manifest
- You need an authoring tool (or a developer) to create SCORM content
Ready to test your SCORM course? Use our free SCORM testing checklist to validate your package before deployment.
If you're planning an e-learning project and want guidance on how SCORM fits into your plans, I offer a free initial consultation to help you figure out the right approach. No pressure, no jargon — just practical advice from someone who went from "what on earth is SCORM?" to building it professionally.