SCORM 1.2 vs SCORM 2004 vs xAPI vs cmi5: Which Standard Should You Use?
SCORM 1.2, SCORM 2004, xAPI, and cmi5 are four distinct e-learning standards with different capabilities, LMS requirements, and use cases. This guide explains each standard plainly and gives a decision framework for choosing the right one.
Every e-learning project eventually reaches the same question: which format do we export? SCORM 1.2, SCORM 2004, xAPI, and cmi5 are not interchangeable. They represent different generations of thinking about how learning systems communicate, and choosing the wrong one means either broken LMS tracking or unused infrastructure.
This article explains each standard, what it does, and when it is the right choice.
SCORM 1.2 (1999)
SCORM 1.2 is the oldest and most widely supported e-learning specification. Developed by ADL (Advanced Distributed Learning) and published in 1999, it defines how a course package communicates with an LMS using JavaScript API calls on a shared browser window object.
How it works: The LMS provides a JavaScript object (API) in the browser. The course finds that object and calls functions like LMSInitialize, LMSSetValue, and LMSCommit to report progress, scores, and completion status.
Key capabilities:
- Completion status:
passed,failed,completed,incomplete,not attempted,browsed - A single score (cmi.core.score.raw)
- Suspend data: a string of up to 4,096 characters for saving learner state
- Time tracking (cmi.core.total_time)
Limitations:
- Single SCO (Shareable Content Object) per package in practice — multi-SCO sequencing is theoretically possible but rarely implemented correctly by LMSes
- No per-objective tracking
- 4,096-character limit on suspend data can be too small for complex adaptive courses
- No offline or mobile support
SCORM 1.2 is still the dominant standard in use today because of its universal LMS support. According to iSpring's xAPI vs SCORM analysis, SCORM 1.2 remains the most commonly deployed format across corporate learning platforms.
Choose SCORM 1.2 when: your LMS is older or unverified, you need guaranteed compatibility, and pass/fail with a single score is sufficient.
SCORM 2004 (2001–2009)
SCORM 2004 was released in four editions between 2001 and 2009. It addressed the limitations of SCORM 1.2 with a richer data model, proper sequencing logic, and per-objective tracking.
Key improvements over SCORM 1.2:
- Sequencing and navigation: rules for branching between SCOs based on learner performance
- Completion status and success status are separate data fields
- Per-objective scores and mastery tracking
- Interaction tracking (cmi.interactions) for detailed quiz reporting
- Larger suspend data capacity
Limitations:
- LMS implementations are inconsistent. Many LMSes claim SCORM 2004 support but only partially implement the sequencing engine.
- More complex to author and test correctly.
- Still browser-JavaScript-based, so offline and mobile tracking remain impossible.
Choose SCORM 2004 when: your LMS correctly implements it (test this before committing), you need multi-module sequencing or per-objective reporting, and you are publishing on a modern corporate LMS such as SAP SuccessFactors or Cornerstone.
xAPI / Tin Can API (2013)
xAPI (also known as Tin Can API, or the Experience API) was developed as a complete rethink of how learning data could be captured. Published in 2013, it moved communication away from the browser JavaScript model entirely. As xAPI.com explains, the core concept is simple: learning activities generate statements in the form "Actor did Verb to Object."
How it works: Instead of communicating via browser JavaScript, xAPI sends HTTP POST requests to a Learning Record Store (LRS). The LRS is a database that stores and serves xAPI statements. The LMS is no longer required as an intermediary.
Key capabilities:
- Track any learning activity: formal courses, videos watched, simulations, on-the-job tasks, mobile app interactions
- Offline tracking: statements queue locally and sync when connectivity is restored
- Beyond-LMS tracking: learning outside a traditional LMS can be captured
- Rich statement vocabulary: any verb, any activity type
What you need: An LRS is required infrastructure. As described in the xAPI.com Learning Record Store guide, the LRS is a separate system from the LMS — it stores statements, supports CRUD operations, and can be queried for analytics. Some LMSes include a built-in LRS; others require a standalone product.
Choose xAPI when: you need to track learning outside the LMS (mobile apps, simulations, in-person events), you have or plan to build an LRS, or you need rich statement-level analytics beyond pass/fail.
cmi5 (2016)
cmi5 is a "profile" built on top of xAPI that restores the LMS launch and authentication model that xAPI intentionally removed. Published by ADL in 2016, it bridges the flexibility of xAPI with the structured LMS-integration model that enterprise training departments require. The Rustici Software cmi5 page and Easygenerator's cmi5 explanation both describe it as "SCORM done right with xAPI."
What cmi5 adds over raw xAPI:
- Defined launch mechanism: the LMS launches cmi5 content the same way it launches SCORM
- Mandatory statements:
launched,initialized,terminated,passed,failed,completedare required — giving LMSes consistent data - Authentication: the LRS endpoint and credentials are passed to the content at launch, not hard-coded
- Move-on logic: the LMS controls when a learner can proceed to the next activity
Choose cmi5 when: you want the data richness of xAPI with the LMS integration model of SCORM, your LMS supports it (SAP SuccessFactors and Cornerstone both do), and you are building a long-term content library that needs to be future-proof. As noted on xAPI.com's cmi5 overview, cmi5 is increasingly the recommended default for new enterprise content.
Comparison Table
| SCORM 1.2 | SCORM 2004 | xAPI | cmi5 | |
|---|---|---|---|---|
| Year published | 1999 | 2001–2009 | 2013 | 2016 |
| LMS required | Yes | Yes | No | Yes (launch only) |
| LRS required | No | No | Yes | Yes |
| Offline support | No | No | Yes | Yes |
| Per-objective tracking | No | Yes | Yes | Yes |
| Sequencing/branching | Limited | Full | Custom | Defined |
| LMS compatibility | Universal | Variable | Via LRS | Growing |
Decision Framework
- Legacy LMS or unknown compatibility: SCORM 1.2.
- Modern corporate LMS, need sequencing and objective tracking: SCORM 2004 (verify LMS support first).
- Learning outside the LMS, mobile, offline, or simulation tracking: xAPI.
- Enterprise LMS + future-proof content strategy: cmi5.
Not sure which standard an existing package uses? A free SCORM validator detects the standard — SCORM 1.2, SCORM 2004, xAPI, or cmi5 — from the package descriptor and checks its structure in seconds, right in your browser.
Where Skillsail Fits
Skillsail exports all four formats: SCORM 1.2, SCORM 2004, xAPI, and cmi5 — as well as standalone HTML5. This means you choose the standard that fits your LMS and reporting requirements without being locked into a single output format. For multilingual deployments, each language variant is exported as a separate package in whichever format you select.