--- title: "SCORM 1.2 vs SCORM 2004: Which Should You Choose?" description: "A practical comparison of SCORM 1.2 and SCORM 2004 — feature differences, LMS compatibility, and honest advice on which version to pick for your e-learning project." canonical_url: "https://scormspecialist.co.uk/blog/scorm-12-vs-2004" last_updated: "2026-05-20T11:34:31.107Z" --- One of the first questions I get from clients is: "Which SCORM version should we use?" It sounds like it should have a simple answer. It mostly does — but the "mostly" matters. Both SCORM 1.2 and SCORM 2004 are actively used, both are supported by virtually every modern LMS, and both can deliver effective e-learning. The right choice depends on what you need to track, how complex your courses are, and which LMS you're using. If you're not sure what SCORM is, start there. This guide assumes you know the basics and need to decide between versions. ## The Quick Answer **Choose SCORM 1.2** if you want maximum compatibility, simple tracking (completion + score), and the fewest headaches. **Choose SCORM 2004** if you need sequencing rules, multiple learning objectives, or detailed reporting beyond basic pass/fail. For the majority of e-learning projects I work on, SCORM 1.2 is the right choice — it remains [the dominant version in use](https://scorm.com/scorm-explained/business-of-scorm/scorm-versions/). But a significant minority genuinely needs 2004's features. ## Feature Comparison Here's a side-by-side comparison of the two versions:
| Feature | SCORM 1.2 | SCORM 2004 |
|---|---|---|
| Release date | 2001 | 2004 (4th edition: 2009) |
| LMS support | Virtually universal | Widely supported, but implementation depth varies |
| Completion status |
completed
,
incomplete
,
not attempted
,
browsed
|
Separates completion (
completed
,
incomplete
,
not attempted
,
unknown
) from success (
passed
,
failed
,
unknown
)
|
| Score tracking | Three sub-fields: raw, min, max (0–100 by convention, not mandated) | Multiple scores: raw, scaled (-1 to 1), min, max |
| Objectives |
Multiple objectives
via
cmi.objectives.n.*
, but no sequencing integration
|
Multiple objectives with individual completion, scores, and sequencing rollup integration |
| Sequencing | None — learner navigates freely | Full sequencing and navigation rules (prerequisite, flow control, rollup) |
| Bookmarking |
cmi.core.lesson_location
(255 chars)
|
cmi.location
(1000 chars)
|
| Suspend data |
cmi.suspend_data
(4,096 chars)
|
cmi.suspend_data
(64,000 chars in
3rd/4th editions
; 4,000 in 2nd edition)
|
| Interaction types | 8 types (true-false, choice, fill-in, matching, performance, sequencing, likert, numeric) |
10 types
(adds
long-fill-in
and
other
) + improved response patterns
|
| Time tracking |
cmi.core.session_time
(
HHHH:MM:SS.SS
format)
|
cmi.session_time
(
ISO 8601 duration
)
|
| Communication |
JavaScript API (
API
object)
|
JavaScript API (
API_1484_11
object)
|
| Package size limit | Practical, varies by LMS | Same practical limits |
| Specification complexity | Considerably smaller (across 3 books) | Significantly larger (across 4 books + conformance requirements) |