TL;DR — SCORM 2004 is the universal but aging e-learning standard. xAPI is its modern successor, capable of tracking learning anywhere — mobile, simulations, VR, on-the-job. cmi5 is the bridge: xAPI’s flexibility plus SCORM-style course structure. For new learning products in 2026, cmi5 is the right default. Stay on SCORM 2004 only if you’re locked into a legacy enterprise LMS.

SCORM 2004 vs xAPI vs cmi5 — data flow SCORM writes to the LMS via a JavaScript API. xAPI posts statements to an LRS over HTTP. cmi5 launches like SCORM but tracks like xAPI. — /data flow SCORM 2004 course content JS API LMS browser-only · 64 KB xAPI any source HTTP LRS mobile · offline · cross-system cmi5 AU + xAPI launch LMS stmts LRS SCORM structure + xAPI tracking
SCORM writes to the LMS via a JavaScript API. xAPI posts statements to an LRS over HTTP. cmi5 launches like SCORM but tracks like xAPI.

If you’re architecting a Learning Management System (LMS), shipping a corporate training product, or migrating an old course library, three acronyms decide most of your engineering choices: SCORM 2004, xAPI, and cmi5. They sound interchangeable. They are not. Picking the wrong one costs you mobile support, analytics depth, and sometimes an entire re-implementation.

We run Nexia Academy — a white-label learning platform — in production. The same source pipeline ships SCORM, xAPI and cmi5 packages, so this comparison comes from real-world engineering choices, not a spec sheet.

What is SCORM 2004?

SCORM 2004 (Sharable Content Object Reference Model, 4th Edition) is the e-learning packaging and runtime standard developed by ADL (Advanced Distributed Learning), finalized in 2009. A SCORM package is a ZIP file containing HTML/JS course content plus an imsmanifest.xml that describes the course structure.

At runtime, the content talks to the LMS through a JavaScript API exposed on the parent window: API_1484_11.LMSInitialize(), LMSGetValue(), LMSSetValue(), LMSFinish(). The LMS stores completion, score, time and a serialized state blob.

What SCORM 2004 tracks well: completion status, success status, score, time spent, lesson location, suspend data (resume state, max 64KB).

Where SCORM 2004 breaks down: browser-only, same-origin restrictions, 64KB data ceiling, no offline support, cannot track anything outside the course window.

What is xAPI?

xAPI (Experience API, originally “Tin Can API”) is ADL’s 2013 successor to SCORM. Instead of a JavaScript runtime tied to an LMS, xAPI is an HTTP-based REST API that records learning experiences as statements — Actor + Verb + Object + Result + Context. Statements are sent to a Learning Record Store (LRS), a dedicated database for xAPI data, separate from the LMS.

What xAPI can track that SCORM cannot: native mobile apps, VR/AR simulations, on-the-job performance, external content (books, conferences, GitHub), offline learning synced later, cross-system learning journeys.

What is cmi5?

cmi5 is an xAPI profile, finalized in 2016. It adds the things SCORM gave you and pure xAPI does not: course structure (manifest), launch protocol (how the LMS launches an Assignable Unit), standardized verbs (launched, initialized, completed, passed, failed, terminated), and completion rules.

In short: cmi5 = xAPI’s flexibility + SCORM-style course structure. It is the ADL-recommended replacement for SCORM in modern LMS deployments.

Comparison table

CapabilitySCORM 2004xAPIcmi5
Released2004 (rev. 2009)20132016
Tracks outside LMSNoYesYes
Native mobileLimitedFullFull
OfflineNoYesYes
Cross-domainNoYesYes
Data limit64 KBUnlimitedUnlimited
Course structureYesNoYes
Launch protocolYesNoYes
Requires LMSYesNo (LRS only)Yes
Recommended for new (2026)NoNon-LMSYes

Production gotchas

  1. SCORM suspend_data 64 KB ceiling — fine for a quiz, painful for branching simulations. Compress and diff state.
  2. LMS interpretation drift — every LMS reads SCORM slightly differently. Always test against the customer’s exact LMS version and SCORM Cloud as a neutral baseline.
  3. xAPI verb sprawl — without a profile (like cmi5), engineers invent verbs. Define a verb registry on day one.
  4. LRS write throughput — 10,000 learners generates millions of statements in week one. Pick an LRS that batches writes.
  5. cmi5 LMS support is uneven — published support and actual support do not always match. Validate end-to-end before content production.

The hybrid pattern most production teams ship

In 2026, the pragmatic deployment pattern: package as SCORM 2004 so any LMS can play the content, fire xAPI statements in parallel to a dedicated LRS for analytics. The LMS gets completion + score; the LRS gets every interaction. The cost is maintaining two pipelines. The benefit is future-proof analytics without abandoning legacy LMS customers.

Recommendation for new projects

  1. cmi5 — for any content that will sit inside an LMS
  2. Pure xAPI — for non-LMS tracking (mobile apps, simulations)
  3. SCORM 2004 — only when forced by a legacy LMS contract

Frequently asked questions

Is SCORM dead?

No — but it has stopped evolving. ADL has confirmed no further SCORM versions. SCORM 2004 will remain widely supported in enterprise LMS deployments for years, but new development should target xAPI or cmi5.

Can SCORM and xAPI work together?

Yes. The most common production pattern is SCORM-packaged content that fires xAPI statements in parallel to an LRS, giving you LMS compatibility plus modern analytics.

Do I need a Learning Record Store (LRS)?

Only if you use xAPI or cmi5. SCORM stores its data inside the LMS. xAPI needs a dedicated LRS — either self-hosted (Veracity, Watershed) or SaaS (SCORM Cloud, Yet Analytics).

What is the difference between xAPI and cmi5?

xAPI is a tracking format — any verb, any object, any context. cmi5 is an xAPI profile that adds course structure, a launch protocol, and standardized completion verbs.

Which standard does Articulate Storyline support?

Articulate Storyline 360 exports to SCORM 1.2, SCORM 2004, xAPI (Tin Can), AICC and cmi5. For new projects, choose cmi5 in the publish dialog.

Does Moodle support cmi5?

Yes — Moodle 3.10+ ships with a cmi5 activity plugin. Earlier versions support SCORM only.

Working on something similar?

T-Square is an independent software engineering studio. We architect, build and operate production-grade systems for learning, AI and custom software products. Talk to a senior engineer if you’d like a second opinion on your architecture or roadmap.