SCORM packages a self-contained course that an LMS launches in a web browser and reports basic results like completion and score, while xAPI (Experience API, formerly Tin Can) tracks a far wider range of learning experiences—online, offline, mobile, and simulations—as actor-verb-object statements stored in a Learning Record Store (LRS), without depending on a browser or an LMS launch.
What is SCORM and how does it work?
SCORM (Sharable Content Object Reference Model) is a set of technical standards that lets an e-learning course package run inside any conformant LMS and report results back to it. A SCORM package is a self-contained ZIP file containing the content, assets, and a manifest (`imsmanifest.xml`) that tells the LMS how to launch and structure the course. See our SCORM glossary entry for a plain-language definition.
At run time, the course communicates with the LMS through a JavaScript API that the LMS exposes in the browser window. Per the official specification, "All communication between a SCO and the LMS happens through an ECMAScript (JavaScript) API. This is the only way for communication to occur," and "all SCORM communication occurs within the context of a web browser session." The API object is named `API` in SCORM 1.2 and `API_1484_11` in SCORM 2004.
The key constraint
Because SCORM relies on a JavaScript API discovered in the browser DOM, SCORM content must be launched by an LMS inside a web browser. It cannot natively report on a mobile app, a simulation, an offline activity, or anything that happens outside that browser session.
What SCORM reliably reports is the "big four": completion status, score, time/duration, and pass/fail satisfaction. That is enough for most formal online courses, which is why SCORM has been the default interoperability standard for the LMS industry for over two decades.
What is the difference between SCORM 1.2 and SCORM 2004?
The two live SCORM versions are SCORM 1.2 and SCORM 2004 (which shipped in several editions, up to 4th Edition). SCORM 1.2 is the simplest and most broadly supported; SCORM 2004 adds sequencing, richer data tracking, and separate completion/success states. Most LMSs accept both, and SCORM 1.2 remains the safest bet for universal compatibility.
| Capability | SCORM 1.2 | SCORM 2004 |
|---|---|---|
| Sequencing & navigation | No standardized sequencing | Adds IMS Simple Sequencing (rule-based paths between SCOs) |
| Completion vs success | Single `lesson_status` (e.g. completed OR passed) | Separate `completion_status` and `success_status` (e.g. completed + failed) |
| Suspend data limit | 4,096 characters | 64,000 characters |
| Interactions / objectives | Very limited interaction detail | Full interactions, objectives, and question/answer text |
| Rollup responsibility | LMS handles rollup | Course signals the LMS when data is ready to roll up |
| Compatibility | Most universally supported | Supported by most modern LMSs, but check first |
Practical takeaway: choose SCORM 1.2 when you need the widest possible LMS compatibility and only need basic completion and score. Choose SCORM 2004 when you need branching/adaptive sequencing, larger bookmark (suspend) data, or to record "completed" and "passed/failed" independently.
What is xAPI (the Experience API)?
xAPI (Experience API, formerly known as Tin Can API) is a learning-data specification that records any learning experience—online or offline, on any device—as structured statements sent to a Learning Record Store. It was developed by ADL and Rustici Software ("Project Tin Can"), released as v1.0 in 2013, updated to v2.0 in 2023, and is now an IEEE-approved standard (IEEE 9274.1.1-2023). See the xAPI glossary entry for more.
Each xAPI statement follows an actor-verb-object shape—essentially "I did this"—and can carry additional context such as a result, score, response, timestamp, and grouping. Examples: "Maria completed CPR Simulation," "Driver passed Forklift Inspection," "Nurse experienced VR Patient Handoff."
What is a Learning Record Store (LRS)?
A Learning Record Store (LRS) is the database that receives, stores, and returns xAPI statements—it is the required infrastructure piece that makes xAPI work. An LRS can run standalone or live inside an LMS, and because multiple systems can write to one LRS, it can provide a single view of learning across courses, apps, simulations, and the real world.
Why this matters
Per the standard's own framing, "tracking learning events doesn't have to start or end in an LMS, it can start wherever the learner is and on whatever device they choose to use." That workflow freedom is the core reason xAPI exists: it captures learning SCORM physically cannot reach.
SCORM vs xAPI: what's the difference at a glance?
The short version: SCORM is a content-packaging and browser-launch standard that reports a fixed set of results to one LMS; xAPI is a flexible data-tracking standard that records almost any experience to a shared LRS, independent of how the activity was launched.
| Dimension | SCORM | xAPI |
|---|---|---|
| Primary job | Package a course + report results to an LMS | Track learning experiences as data statements |
| What it tracks | Completion, score, time, pass/fail ("big four") | Almost any verb/activity, with rich context and results |
| Where it runs | Inside a web browser, launched by an LMS | Anywhere: web, mobile app, offline, simulation, device |
| Data store | Reported into the launching LMS | A Learning Record Store (LRS), standalone or in an LMS |
| Launch dependency | Requires an LMS + browser session | No browser or LMS launch required to send a statement |
| Offline / mobile | Not natively supported | Supported by design |
| Statement format | Predefined `cmi.*` data model | Open actor-verb-object statements |
| Maturity | Mature, near-universal LMS support | Widely supported but LRS/reporting setup needed |
They are not strictly either/or. Many programs deliver formal courses as SCORM today while adopting xAPI to capture the experiences SCORM misses—and cmi5 (below) lets you do both in one package.
When should you use SCORM vs xAPI?
Use SCORM when you need maximum LMS compatibility for formal, browser-delivered courses with standard completion/score reporting. Use xAPI when you need to track learning that happens outside a single browser-launched course—mobile, offline, simulations, on-the-job activities, or data aggregated across multiple systems into one LRS.
Choose SCORM if you...
- Need a course to run in virtually any LMS with minimal setup
- Only require completion, score, time, and pass/fail
- Are delivering self-contained, browser-based e-learning
- Want the simplest path to compliance reporting (SCORM 1.2 is the most universally supported)
Choose xAPI if you...
- Track mobile, offline, simulation, VR, or real-world activities
- Want granular data beyond completion and score
- Need a single view of learning across multiple tools and systems
- Are building learning into apps, games, or workflows rather than only an LMS
Don't forget the LRS
xAPI's flexibility comes with a setup cost: you need a Learning Record Store and a way to report on its data. If your only requirement is course completion in a standard LMS, SCORM is often the faster, lower-overhead choice. Match the standard to the job, not to the hype.
What is cmi5 and how does it bridge SCORM and xAPI?
cmi5 is an xAPI Profile that adds the LMS launch, authorization, and course-management rules that plain xAPI lacks—effectively giving xAPI the SCORM-style structure it was missing. It lets an LMS launch xAPI-enabled content and manage it like a course, while all the underlying tracking data flows as xAPI statements into an LRS. It is governed by ADL, which took over the project in 2014 and published the first official version in 2016.
In cmi5, the launchable pieces of content are called Assignable Units (AUs). A `cmi5.xml` manifest describes the course structure (blocks and AUs) much like a SCORM manifest, and the package is imported into a cmi5-compatible LMS. This is why cmi5 is often described as "the bridge": SCORM-style LMS management plus xAPI's tracking power.
- SCORM = LMS launch + management, but limited browser-only tracking
- xAPI = flexible tracking everywhere, but no built-in launch/management
- cmi5 = xAPI tracking + the LMS launch and management SCORM provides
If you want xAPI's rich data without losing the familiar "launch a course from the LMS" workflow, cmi5 is the modern target many teams are moving toward.
How do SCORM and xAPI affect course portability?
SCORM gives you high content portability: a SCORM 1.2 or 2004 package is a self-contained ZIP you can upload into almost any conformant LMS and run immediately. xAPI gives you high data portability: because statements live in an LRS, your learning records aren't trapped inside a single LMS and can be aggregated, exported, and analyzed across systems.
The trade-off: SCORM content moves easily but its data is tied to the launching LMS, while xAPI's data moves freely but requires an LRS and reporting layer to be useful. If portability between LMSs is your priority, SCORM (especially 1.2) is the proven option; if portability of learning data across your whole stack matters more, xAPI—or cmi5—is the better fit. For background on how courses live inside an LMS, see the LMS glossary entry.
Portability rule of thumb
SCORM = portable courses. xAPI = portable data. cmi5 = both, if your LMS and LRS support it.
Does ELIL support SCORM and xAPI?
Yes—ELIL is an AI-native LMS that exports the courses it generates as both SCORM 1.2 and SCORM 2004 packages and can emit xAPI statements, so the training you create here stays portable to whatever standard your environment requires. You generate a complete course from your existing SOPs, PDFs, and decks, then deliver it inside ELIL or take a standards-compliant package elsewhere.
Because ELIL builds the course for you with AI course generation and tracks results with built-in analytics and compliance reporting, you get the audit-ready completion data SCORM is known for, plus the option to send richer xAPI data to an LRS. The practical benefit: you choose the interoperability standard that fits your stack instead of being locked into one.
If you're still deciding which platform fits, our guides on how to choose an LMS and the best LMS for small business walk through selection criteria in a vendor-neutral way.