ELIL — AI Learning Platform

Buyer Guide

SCORM vs xAPI: Differences, When to Use Each, and cmi5

SCORM vs xAPI explained: how each standard tracks learning, SCORM 1.2 vs 2004, what an LRS does, cmi5 as the bridge, and when to use which.

By Edwin HuertasJune 7, 202610 min read

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.

CapabilitySCORM 1.2SCORM 2004
Sequencing & navigationNo standardized sequencingAdds IMS Simple Sequencing (rule-based paths between SCOs)
Completion vs successSingle `lesson_status` (e.g. completed OR passed)Separate `completion_status` and `success_status` (e.g. completed + failed)
Suspend data limit4,096 characters64,000 characters
Interactions / objectivesVery limited interaction detailFull interactions, objectives, and question/answer text
Rollup responsibilityLMS handles rollupCourse signals the LMS when data is ready to roll up
CompatibilityMost universally supportedSupported 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.

DimensionSCORMxAPI
Primary jobPackage a course + report results to an LMSTrack learning experiences as data statements
What it tracksCompletion, score, time, pass/fail ("big four")Almost any verb/activity, with rich context and results
Where it runsInside a web browser, launched by an LMSAnywhere: web, mobile app, offline, simulation, device
Data storeReported into the launching LMSA Learning Record Store (LRS), standalone or in an LMS
Launch dependencyRequires an LMS + browser sessionNo browser or LMS launch required to send a statement
Offline / mobileNot natively supportedSupported by design
Statement formatPredefined `cmi.*` data modelOpen actor-verb-object statements
MaturityMature, near-universal LMS supportWidely 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.

Frequently asked questions

Is xAPI replacing SCORM?
Not outright. xAPI tracks far more than SCORM and is the more modern standard, but SCORM remains near-universally supported across LMSs and is still the default for formal browser-based courses. Many organizations run both, and cmi5 (an xAPI profile that adds LMS launch and management) is the bridge that lets newer content use xAPI tracking while keeping a SCORM-style course workflow.
Is xAPI the same as Tin Can API?
Yes. xAPI (Experience API) was originally developed under the name "Project Tin Can" and was informally called the Tin Can API. "xAPI" is the official name today, and it is now an IEEE-approved standard (IEEE 9274.1.1-2023). The two names refer to the same specification.
Do I need a Learning Record Store (LRS) for xAPI?
Yes. An LRS is the required component that receives, stores, and returns xAPI statements—it is not optional. It can run standalone or be embedded inside an LMS. SCORM, by contrast, reports directly into the LMS that launched the course, so it needs no separate LRS.
Should I use SCORM 1.2 or SCORM 2004?
Use SCORM 1.2 for the widest LMS compatibility when you only need completion, score, time, and pass/fail. Use SCORM 2004 when you need rule-based sequencing between content, separate completion and success statuses, larger bookmark/suspend data (64,000 vs 4,096 characters), or richer interaction and objective tracking—after confirming your target LMS supports it.
Can SCORM track mobile or offline learning?
No, not natively. SCORM communicates with the LMS through a JavaScript API inside a web browser session, so it can only report on activity that happens in that browser-launched course. To track mobile apps, offline activity, simulations, or real-world tasks, you need xAPI (or cmi5).
What is cmi5 in simple terms?
cmi5 is an xAPI profile that adds the LMS launch, authorization, and course-structure rules that plain xAPI lacks. It lets an LMS launch and manage xAPI-enabled content (organized into Assignable Units) while the tracking data flows as xAPI statements into an LRS—combining SCORM-style management with xAPI's tracking flexibility.

Keep reading

Ready to transform how your organization learns?

See how AI turns your documents, SOPs, and expertise into complete training programs — in a personalized demo built around your own content.

7-day free trial · No commitment · Your content stays yours