e-Learning standards

SCORM vs xAPI: what actually differs

SCORM and xAPI are both standards for reporting e-learning activity, and they differ in where the content runs and how much it can say. SCORM content runs inside an LMS window and reports a small, fixed set of values back to that LMS — completion, score, time, pass or fail. xAPI content can run anywhere, including outside an LMS entirely, and sends free-form statements of the form "actor — verb — object" to a Learning Record Store, so it can record that someone watched a video to 80%, failed a simulation twice, or attended a workshop offline.

SCORM, xAPI and cmi5 side by side

SCORM 1.2 / 2004xAPIcmi5
Released2001 / 200420132016
Where content runsIn an LMS windowAnywhereLaunched by an LMS, runs anywhere
Reports toThe LMS that launched itA Learning Record Store (LRS)An LRS, with LMS launch rules
What it recordsCompletion, score, time, pass/failAny statement: actor, verb, objectxAPI statements, plus a defined course lifecycle
Works offlineNoYes, statements queue and syncYes
Mobile and native appsNoYesYes
LMS supportNear-universalVaries; needs an LRSGrowing, still uneven
Best whenYour LMS must simply record who finishedYou need detail, or learning happens outside the LMSYou want xAPI detail without losing LMS launch and completion

What SCORM does well, and where it stops

SCORM's strength is that it is finished. It stopped changing around 2004, which is exactly why nearly every LMS on the market can import a SCORM package without anyone having to ask. If the requirement is "upload this course, and tell me who completed it", SCORM answers it and nothing about xAPI improves the answer.

SCORM stops at the edge of the LMS window. It cannot report anything that happens before the course is launched or after it closes, it cannot describe an activity in its own terms, and it has no concept of learning that happened somewhere else. The data model is a fixed list of fields, so any question outside that list has no way to be asked.

What xAPI adds, and what it costs

xAPI replaces the fixed field list with a sentence: an actor did a verb to an object. Because the vocabulary is open, xAPI can record things SCORM has no field for — a simulation attempt, a mentoring session, a piece of reading done on a phone in an airport.

The cost is infrastructure and discipline. xAPI statements need somewhere to land, which means a Learning Record Store, and an LRS is a separate thing from an LMS. And because the vocabulary is open, two teams describing the same activity can produce statements that never line up — the flexibility that makes xAPI powerful is the same flexibility that makes an unplanned xAPI rollout produce data nobody can query.

cmi5: the part most comparisons leave out

Almost every "SCORM vs xAPI" article stops at the two, which leaves the reader with a false choice. cmi5 is an xAPI profile that adds back the thing xAPI dropped: rules for how an LMS launches a course, and an agreed set of verbs for its lifecycle.

In practice cmi5 is the answer for most people who thought they wanted xAPI. It keeps the LMS in charge of launching and recording completion — the reason SCORM is convenient — while statements go to an LRS in xAPI's own detail.

How to choose without over-thinking it

Start from the question someone will ask you, not from the standard. If the question is "did they finish?", SCORM is enough and the rest is cost with no return.

  • Your LMS is the only place learning happens, and you need completion and score → SCORM 2004 (or 1.2 if the LMS is old)
  • You need to know what happened inside the course, not just whether it ended → cmi5
  • Learning happens in apps, on the job, or offline, and an LMS is not the centre of it → xAPI direct to an LRS
  • You are not sure yet → export SCORM now and cmi5 later from the same source, rather than picking a standard you cannot change

Questions

Is xAPI replacing SCORM?

Not in practice, and not soon. xAPI was published in 2013 and SCORM is still what most LMS platforms import by default, because SCORM's fixed scope is the thing that made universal support possible. The realistic position for the next several years is that both exist and content is exported to whichever one the destination understands.

Do I need a Learning Record Store for SCORM?

No. SCORM reports to the LMS that launched the content, and the LMS stores the result. An LRS is only needed for xAPI or cmi5.

Can one course export to both SCORM and xAPI?

Yes, if the authoring tool builds the package from the course's own source rather than converting one format into the other. Mosra exports SCORM 1.2, SCORM 2004, xAPI and cmi5 from the same deck, so the choice of standard is not a choice you make once and live with.

Which SCORM version should I pick?

SCORM 2004 unless your LMS says otherwise — it handles sequencing and reports pass/fail separately from completion, which SCORM 1.2 conflates. SCORM 1.2 remains the safer bet for older or unusual platforms, and it is still widely accepted.

Does xAPI work without the internet?

Yes. xAPI statements can be queued locally and sent when a connection returns, which is one of the main reasons it exists. SCORM has no equivalent — it needs a live LMS session.

Where Mosra fits

Mosra is an authoring tool that exports all four formats from one lesson, so this decision does not have to be made before you start building.

  • SCORM 1.2, SCORM 2004, xAPI and cmi5 exported from the same source deck
  • A Learning Record Store included, so xAPI and cmi5 statements have somewhere to land
  • Graded questions on slides score inside the package and report back through the runtime
  • The same deck still exports to PPTX, PDF and HTML5, so nothing is locked in

The quickest way to settle this

Build one deck, export a package, and load it into your own LMS. An afternoon answers what a comparison table cannot.