Comparisons||9 min read

SCORM 1.2 vs SCORM 2004: Which Should You Use?

When exporting a course from an authoring tool, you typically face a choice: SCORM 1.2 or SCORM 2004. Both versions serve the same fundamental purpose — enabling e-learning content to communicate with an LMS — but they differ in capability, complexity, and compatibility. This article provides a detailed comparison to help you choose the right version for your project.

Overview

SCORM 1.2, released in October 2001, established the core packaging and runtime model that made SCORM the industry standard. SCORM 2004, released in January 2004 with four subsequent editions, extended the specification with sequencing rules, a richer data model, and stricter conformance requirements. Despite being two decades old, both versions remain actively used in production environments worldwide.

Feature Comparison

FeatureSCORM 1.2SCORM 2004
Release dateOctober 2001January 2004 (4th Ed. 2009)
Runtime API objectAPIAPI_1484_11
Completion status valuespassed, failed, completed, incomplete, browsed, not attemptedcompleted, incomplete, not attempted, unknown (separate success: passed, failed, unknown)
Score range0–100 (integer)-1.0 to 1.0 (decimal), scaled score
Suspend data limit4,096 characters64,000 characters
Sequencing and navigationNot supportedFull sequencing engine with preconditions, rollup rules, flow control
ObjectivesSingle objective per SCOMultiple objectives per SCO, shared global objectives
Interactions (quiz data)Write-only, limited fieldsRead/write, richer interaction types
LMS compatibilityVirtually universalMost modern LMSs, some older systems lack full support
Browser supportAll modern browsersAll modern browsers

Data Model Differences in Detail

Completion and Success

SCORM 1.2 combines completion and pass/fail into a single cmi.core.lesson_status field. A learner can be “completed” or “passed” but not both simultaneously. SCORM 2004 separates these into cmi.completion_status (completed / incomplete) and cmi.success_status (passed / failed). This separation matters when completion and mastery are measured differently — for example, a learner might complete all slides but fail the assessment.

Scoring

SCORM 1.2 supports integer scores from 0 to 100 via cmi.core.score.raw, cmi.core.score.min, and cmi.core.score.max. SCORM 2004 introduces a cmi.score.scaled field that normalizes scores to -1.0 through 1.0, making it easier to compare scores across courses with different point scales.

Bookmarking and Suspend Data

Both versions support cmi.suspend_data for storing arbitrary course state (quiz answers, page positions, configuration). However, SCORM 1.2 limits this field to 4,096 characters, which can be restrictive for complex interactive courses. SCORM 2004 increases the limit to 64,000 characters, providing significantly more room for state persistence.

Sequencing: The Biggest Difference

SCORM 2004’s most significant addition is the Simple Sequencing specification. It lets course authors define rules that control the order in which learners access SCOs:

  • Preconditions — prevent accessing a SCO until prerequisites are met (e.g., “complete Module 1 before starting Module 2”).
  • Rollup rules — aggregate child SCO status to determine parent status (e.g., “the course is complete when all modules are complete”).
  • Flow control — enable or disable forward/back navigation.
  • Shared global objectives — allow SCOs to read mastery status from other SCOs.

This is powerful but comes with complexity. Implementing a compliant sequencing engine is one of the hardest parts of building a SCORM 2004 runtime. Many LMS vendors implement sequencing partially or with bugs, which can cause unexpected behavior for courses that rely heavily on these rules.

LMS Compatibility

SCORM 1.2 is supported by essentially every LMS on the market. It is the safest choice when you distribute content to unknown or varied LMS environments. SCORM 2004 support is common in modern LMSs (Moodle, Canvas, Blackboard, SAP SuccessFactors, Cornerstone) but may be incomplete in older or niche systems, particularly around sequencing.

If you distribute SCORM packages to multiple client LMSs and cannot control which LMS they use, SCORM 1.2 minimizes compatibility risk.

When to Choose SCORM 1.2

  • You need maximum LMS compatibility.
  • Your courses are self-contained (no complex prerequisites).
  • Your tracking needs are simple: completion, score, time.
  • You distribute to clients whose LMS environment is unknown.
  • You want the simplest development and debugging experience.

When to Choose SCORM 2004

  • You need prerequisite-based navigation between modules.
  • You require separate completion and success tracking.
  • Your courses store large amounts of suspend data (>4 KB).
  • You need multiple objectives per SCO with shared objectives.
  • Your target LMS is known to fully support SCORM 2004.

AllureConnect Supports Both

AllureConnect’s hosted SCORM runtime supports both SCORM 1.2 and SCORM 2004 (all editions). When you upload a package, AllureConnect detects the version from the manifest and configures the runtime accordingly. You get the same API, the same webhooks, and the same analytics regardless of version.

If you’re unsure which version to use, start with SCORM 1.2 for broad compatibility. You can always re-export as SCORM 2004 later if you need sequencing or a richer data model. AllureConnect handles both without any configuration changes on your end.

Ready to try AllureConnect?

Start hosting SCORM content in minutes with a free sandbox account. No credit card required.

Related Articles