InstructionalEngineer

SCORM vs xAPI vs cmi5 – Which eLearning Standard Fits?

By Instructional EngineerSCORM, xAPI and LMS8 min read · Updated

SCORM vs xAPI vs cmi5 – Which eLearning Standard Fits? - 3D Cutaway Animation

Three acronyms walk into a planning meeting. The LMS vendor says their platform "supports all the standards," while the content vendor recommends xAPI because it's newer. Your developer mentions, a little nervously, that the last xAPI course didn't show up in any report, and now everyone is looking at you. SCORM vs xAPI vs cmi5: which eLearning standard actually fits your project?

Use SCORM when you need dependable completion and score tracking for browser courses launched from an LMS, use xAPI when you need to track learning outside the LMS or in rich detail, and use cmi5 when you want xAPI's data with SCORM-style LMS launching. SCORM has the widest LMS support, which makes it the safe default for compliance and onboarding. xAPI records any activity as a statement in a Learning Record Store (LRS), so it handles simulations, apps and field work. cmi5 adds standard LMS launch rules on top of xAPI. Often, your LMS's real support decides for you.

What's the Core Difference Between SCORM and xAPI?

The core difference is where the data goes and who's allowed to send it. SCORM content talks to the LMS that launched it, through a JavaScript API in the browser, using a fixed list of fields. xAPI content sends statements over the web to an LRS, and anything can send them, from anywhere, describing nearly anything.

That one difference ripples outward. Because SCORM depends on the browser connection to the LMS, the content usually has to be hosted on the same domain as the LMS and can't track learners who aren't in a launched course. Because xAPI uses ordinary web requests, content can live on any server, a mobile app can store statements offline and send them later, and a supervisor's tablet can record an observed skill.

There's a trade-off hiding in there. SCORM's rigid data model means every LMS knows exactly what to do with a score. By contrast, xAPI's open model means you have to plan what your statements will say, or you end up with a pile of data nobody can report on. The xAPI overview from Rustici Software covers the model's flexibility well if you want the longer version.

What Does the Same Event Look Like in Each Standard?

Seeing one event recorded both ways makes the difference concrete. Say a learner passes a quiz with a score of 85. In SCORM 1.2, the course hands two values to the LMS through the browser API:

LMSSetValue("cmi.core.score.raw", "85");
LMSSetValue("cmi.core.lesson_status", "passed");

That's the entire exchange. The LMS knows the score and the status, attached to whichever learner and course it launched. It doesn't know which quiz, which attempt details, or anything else unless the course also fills in the interactions fields.

In xAPI, the course (or any other tool) sends a statement to the LRS:

{
  "actor":  { "mbox": "mailto:learner@example.com" },
  "verb":   { "id": "http://adlnet.gov/expapi/verbs/passed" },
  "object": { "id": "https://example.com/quizzes/hazard-communication-final" },
  "result": { "score": { "scaled": 0.85 }, "success": true, "duration": "PT9M12S" },
  "context": { "registration": "7f3c9a2e-4b1d-4e8a-9c6f-2d5b8e1a0c34" }
}

The statement carries its own identity, its own description of the activity and as much extra context as you choose to add. That self-contained design is what lets xAPI work outside an LMS, and it's also why someone has to decide, ahead of time, what those identifiers and details should be. cmi5 makes many of those decisions for you when the course is launched from an LMS.

Where Does cmi5 Fit Between SCORM and xAPI?

cmi5 fills the gap that plain xAPI left open. xAPI never defined how an LMS should launch a course, pass it the learner's identity, or decide when it counts as complete. Every vendor solved that differently, which is why xAPI courses were often hard to move between platforms.

cmi5 is an xAPI profile that answers those questions. It defines a launch process, a small vocabulary of defined statements (launched, initialized, completed, passed, failed, terminated, abandoned, waived and satisfied), and move-on rules for when a course is satisfied. In other words, it brings back SCORM's plug-and-play predictability while keeping xAPI's data and hosting freedom. I cover the details in my explainer on how cmi5 works.

SCORM vs xAPI vs cmi5, Side by Side

The table below compares the four formats you'll see in publishing dialogs on the capabilities that come up most often in real projects. "Partly" means some support exists but you shouldn't count on it without testing.

CapabilitySCORM 1.2SCORM 2004xAPIcmi5
Standard way to launch from an LMSYesYesNoYes
Completion, pass/fail and scoreYesYesYesYes
Completion and pass/fail as separate valuesNoYesYesYes
Sequencing rules inside the packageNoYesNoNo
Tracking outside an LMS launchNoNoYesPartly
Content hosted on another domainNoNoYesYes
Custom, detailed activity dataNoNoYesYes
Offline trackingNoNoYesNo
Supported by most LMS platformsYesYesPartlyPartly

The chart below simply counts the "Yes" cells in each column, so read it carefully: a higher count means more capability, not a better choice. SCORM 1.2 scores lowest and is still the right answer for a huge share of courses, because the one capability it wins on, near-universal support, is often the one that matters most.

Capabilities each standard fully supports

Count of 'Yes' cells across the nine capabilities in the table above

SCORM 1.23 of 9SCORM 20045 of 9xAPI6 of 9cmi55 of 9SCORM 1.23 of 9SCORM 20045 of 9xAPI6 of 9cmi55 of 9

Model: count of the nine capabilities in this article's comparison table that each standard fully supports; 'Partly' counted as zero.

View the data
Capabilities fully supported (of 9)
SCORM 1.23 of 9
SCORM 20045 of 9
xAPI6 of 9
cmi55 of 9

Which Standard Fits Your Project?

The right standard depends on what you need to know and where the learning happens. Match your project to the closest description below.

If you'd like a quick second opinion, the picker below asks what you need to track, what your LMS supports and whether you need sequencing, then suggests a format.

Interactive picker

Which eLearning standard fits your project?

SCORM 1.2

The widest LMS support and the simplest setup. It handles completion, pass/fail and a score without trouble.

What Does Your LMS Need to Support Each One?

Your LMS's real support level often decides the SCORM vs xAPI question before you do. A standard your LMS handles poorly will cause more trouble than a simpler one it handles well.

SCORM vs xAPI vs cmi5 – Which eLearning Standard Fits? - 3D Wireframe Animation

For SCORM

Nearly every LMS supports SCORM 1.2. SCORM 2004 support is common, but sequencing support varies widely, so ask which 2004 editions are supported and whether sequencing rules are fully implemented.

For xAPI

You need an LRS somewhere; some LMS platforms include one, while others connect to an external LRS. Ask whether the LMS can launch xAPI packages, whether statements show up in normal reports, and whether you can export or forward statements to another LRS.

For cmi5

The LMS has to implement the cmi5 launch process and include or connect to an LRS. Support has grown steadily, but it's still less universal than SCORM, so ask for a demonstration with a cmi5 package from your authoring tool rather than the vendor's sample. ADL's cmi5 specification page lists the official resources if your developers want to check details.

Can You Use More Than One Standard at Once?

Yes, and many mature programs do, because standards aren't a loyalty program. A typical setup keeps existing SCORM courses exactly as they are, publishes new courses as SCORM or cmi5 depending on LMS support, and uses xAPI for simulations, apps and observation checklists.

The key is a single place where the data meets. If your LMS has an LRS, it might serve that role. If not, a standalone LRS can receive xAPI and cmi5 statements while the LMS keeps its SCORM records, and your reporting tool pulls from both. Plan that reporting path before you build, not after the first executive asks for a dashboard.

One caution: don't convert old SCORM courses to xAPI just because it's newer. If a course tracks what you need today, republishing it adds testing work and risks breaking learner history for no real gain.

Which SCORM vs xAPI Myths Cause the Most Trouble?

A few beliefs show up in almost every standards conversation, and each one leads to expensive decisions.

"SCORM is dead"

SCORM is complete, which isn't the same as dead. There's no SCORM 3 coming, but it remains the format LMS platforms support most consistently, and enormous course libraries depend on it, because finished standards are stable standards.

"xAPI replaces the LMS"

xAPI replaces nothing on its own, since it simply records experiences. You still need something to enroll people, assign training, track due dates and produce compliance records, and in most organizations that's still the LMS, with an LRS working beside it or inside it.

"Publishing to xAPI gives us better data automatically"

Republishing a SCORM-style course as xAPI usually produces statements that say roughly what SCORM said: launched, completed, passed, scored. The richer data only appears when someone designs it into the activity. A slide-based course with a quiz at the end won't suddenly reveal how people think just because the output format changed.

What Should You Ask Before You Decide?

Before you pick a standard for a new project, get answers to these questions, which take about an hour and prevent months of rework.

  1. What decision will this data support? If the answer is "proof of completion," SCORM is probably enough.
  2. Where will learners be when they learn? At a desk, on a phone, offline, in a simulator, on a job site?
  3. Which formats does our LMS support today, and how well? Has anyone tested them with our content?
  4. Do we have an LRS, or will we need one?
  5. Who will build and maintain the reports?
  6. Can our authoring tool publish the format we're considering, and has it been tested in our LMS?

If you can't name the report you'll build from the data, you don't need a more powerful standard yet; you need a clearer question.

SCORM vs xAPI vs cmi5: Pick the Plumbing That Fits the Building

SCORM vs xAPI isn't a fight between old and new. SCORM is dependable plumbing for courses launched from an LMS, and it's still the best fit for most standard training. xAPI is the flexible option for learning that happens in apps, simulations, the field and the flow of work. cmi5 joins the two, giving LMS-launched courses xAPI's richer data with predictable launch rules.

Start with the question you need answered and the LMS you actually have, then test one real course in the format you've chosen before you commit an entire catalog to it.

← All articles