When you publish a course from your authoring tool, one of the first questions it asks is which standard to use: SCORM 1.2 or SCORM 2004, and often which edition of 2004. Both are still in everyday use, and the choice changes what your LMS can record about each learner. Here’s what actually differs, and how to decide.
A short history of SCORM
SCORM (the Sharable Content Object Reference Model) was developed by the Advanced Distributed Learning (ADL) Initiative, sponsored by the US Department of Defense. It sets out two things:
- Packaging: a course is a zip file with an
imsmanifest.xmlfile at its root describing what’s inside. - Runtime: a JavaScript interface the course uses to talk to the LMS: starting, saving progress, reporting a score and finishing.
SCORM 1.2 was released in 2001. SCORM 2004 followed and went through four editions, the last in 2009. Later work moved on to newer specifications such as xAPI and cmi5, which are separate standards, not newer versions of SCORM.
The practical differences
Completion and success status
This is the difference course authors notice most.
SCORM 1.2 has a single field, cmi.core.lesson_status, which holds one value: passed, completed, failed, incomplete, browsed or not attempted. A course can say a learner “completed” or “passed”, but not both at once. That’s why authoring tools typically ask how to report the result, with choices such as passed/incomplete or completed/incomplete.
SCORM 2004 splits this in two:
- Completion status: did the learner get through the content? (completed, incomplete, not attempted or unknown)
- Success status: did they meet the standard? (passed, failed or unknown)
So a SCORM 2004 course can report “completed, but failed”, which matters when you need to know someone saw everything and passed.
How much progress data a course can store
Courses save their place using a bookmark and a block of “suspend data” holding answers, variables and slide states.
- SCORM 1.2 allows 4,096 characters of suspend data and a 255-character bookmark.
- SCORM 2004 allows 64,000 characters of suspend data in its 3rd and 4th editions, and a 1,000-character bookmark.
Long courses with many slides, variables or question banks can run out of room in SCORM 1.2. What happens next depends on the tool and the LMS, but a common symptom is a course that doesn’t resume where the learner left off.
Sequencing and navigation
SCORM 1.2 has no standard way for a package to control the order of its parts. The LMS decides, and navigation usually happens inside the course itself.
SCORM 2004 adds sequencing and navigation rules that live in the package: prerequisites between modules, pre-tests that let learners skip content they already know, and rules for rolling results up into one overall status. They’re powerful but complex, and support for them varies between LMSs. Courses exported from authoring tools are often a single SCO (one launchable part), in which case sequencing hardly comes into play.
Scores and question data
Both versions record a raw score with a minimum and maximum. SCORM 2004 adds a scaled score and a richer set of fields for recording individual question responses (interactions).
Compatibility considerations
- Where will the course run? If it’s only going on your own LMS, test both formats there. If you supply courses to clients who run their own LMS, ask which format they want before you publish.
- Which edition of 2004? An LMS that supports SCORM 2004 may not handle every edition in the same way. Check which your LMS supports, and test.
- Simpler has fewer surprises. SCORM 1.2 has fewer moving parts, which is why it’s often treated as the safe default.
- xAPI and cmi5 aren’t substitutes. If your LMS expects SCORM, don’t export xAPI, cmi5 or AICC by mistake.
SCORM 1.2 vs SCORM 2004 at a glance
| SCORM 1.2 | SCORM 2004 | |
|---|---|---|
| Released | 2001 | 2004, with the 4th edition in 2009 |
| Result reporting | One status (e.g. passed or completed) | Separate completion and success status |
| Suspend data | 4,096 characters | 64,000 characters (3rd and 4th editions) |
| Bookmark | 255 characters | 1,000 characters |
| Scores | Raw, minimum, maximum | Adds a scaled score |
| Sequencing | Not defined; the LMS decides | Rules defined in the package |
| Complexity | Low | Higher; support varies by edition |
Which should you publish? A decision guide
Choose SCORM 1.2 when
- The course is short to medium length and resumes reliably in testing
- One result is enough, such as “passed” or “completed”
- You don’t know which LMS the course will end up on, or a client has asked for it
Choose SCORM 2004 when
- You need completion and pass/fail recorded separately
- The course is long or stateful and runs out of suspend data in SCORM 1.2
- You rely on package-level sequencing, and you’ve confirmed your LMS supports the rules you use
If you’re still unsure
Publish both from the same source, upload both to the LMS you’ll use, and compare. Our guide on how to test a SCORM package walks through what to check.
How Acadenix handles both
Acadenix is a SCORM LMS that takes SCORM 1.2 and SCORM 2004 zips of up to 100 MB each. You add a package to the units library and choose SCORM 1.2 or SCORM 2004 as its unit type, and the package records its own completion. Progress, scores and completion are tracked for every learner, with a dedicated SCORM report, and the content is delivered privately from a separate, sandboxed address using short-lived signed access.
A few features can make the format choice less critical:
- A pass mark in the LMS. Follow your SCORM units with a built-in test that has a pass mark, retakes and a time limit, and make passing it the condition for completing the course.
- Units in order. If all you need from sequencing is “module 1 before module 2”, publish each module as its own unit and tick These units run in order.
- Changing your mind later. Uploading a new file, or a new unit type, creates a new version of the unit. You choose whether learners part-way through restart on it or finish the version they started, and people who already finished keep their completion and see an Updated marker.
xAPI (Tin Can), cmi5 and AICC packages aren’t supported, so publish as SCORM 1.2 or 2004.
Key takeaways
- SCORM 2004 separates “completed” from “passed”; SCORM 1.2 reports one status.
- SCORM 1.2 has much less room for resume data, which can trip up long courses.
- SCORM 2004 sequencing is powerful, but LMS support varies, so test it.
- If you’re unsure, publish both from the same source and test them on your LMS.
Want to see how your own packages behave? Request an evaluation and upload your SCORM 1.2 and SCORM 2004 zips to Acadenix. You get 14 days for up to 25 learners.


