Getting StartedGuide

SCORM vs xAPI vs cmi5: What Course Publishers Need to Know

SCORM, xAPI, and cmi5 are the three publishing formats a Storyline or Rise course can export to. They're not interchangeable, each tracks different data and needs different LMS support, choosing the wrong one for your actual reporting needs causes real problems after launch, not before.

Reading time
~7 min
Difficulty
All levels
Resource type
Guide
Last updated
2026-08-13

Questions answered by this guide

  • What's the difference between SCORM, xAPI, and cmi5?
  • Which publishing format should I use for my course?
  • Does my LMS support xAPI or cmi5?
  • Why does completion status sometimes not register in my LMS?

What you'll learn

  • SCORM is the oldest and most universally supported, but only tracks completion, score, and time inside one course session
  • xAPI (Experience API) tracks much richer data, including activity outside the LMS itself, but needs a Learning Record Store (LRS), not every LMS has one
  • cmi5 combines xAPI's richer tracking with SCORM-like launch and completion structure, a middle ground, with growing but not universal LMS support

What's inside

Instructional designers and L&D teams deciding which publishing format to export a course in

  1. 01SCORM: the universal default
  2. 02xAPI: richer data, more infrastructure
  3. 03cmi5: xAPI's structure, SCORM's simplicity
  4. 04Choosing based on your LMS and reporting needs
  5. 05Testing before you publish

Why it matters

Choosing a publishing format isn't just a technical checkbox, it determines what your LMS can actually report on later: whether you can see completion and score (SCORM), or richer data like which slides a learner revisited or how long they spent on a specific interaction (xAPI/cmi5). Picking the wrong one means discovering the gap in your reporting after the course has already launched.

When you'll encounter this

  • You're publishing a course for the first time and need to choose an export format.
  • Your LMS reports show a course as "incomplete" even though learners say they finished it.
  • Someone asks for more detailed learner activity data than your current SCORM reports provide.

Best practices

  • Default to SCORM 1.2 or SCORM 2004 unless you have a specific reason not to, it's supported by essentially every LMS and is the safest choice when you're not sure.
  • Choose xAPI specifically when you need to track activity your LMS's SCORM reporting can't capture, interactions inside the course, activity outside a traditional LMS, or data across multiple systems, and confirm your LMS actually has a connected Learning Record Store first.
  • Consider cmi5 when you want xAPI's richer data model but also want SCORM-like predictable launch and completion behavior, check your specific LMS's cmi5 support before committing, it's less universal than SCORM.
  • Whichever format you choose, test that completion actually registers correctly in your real LMS before considering the course launched, not just that the export completed without errors.

Common mistakes

  • Choosing xAPI because it sounds more modern, without confirming the LMS has a Learning Record Store to actually receive that data.
  • Assuming a successful publish/export means completion tracking will work correctly in the destination LMS, that has to be tested separately.
  • Not knowing which format a course was actually published in when troubleshooting a reporting problem.

Practical checklist

  • The chosen format matches what your specific LMS actually supports and can report on.
  • If choosing xAPI or cmi5, the LMS's Learning Record Store (or cmi5-compatible player) has been confirmed, not assumed.
  • Completion, score, and time tracking have been tested in the real destination LMS, not just verified in the authoring tool's preview.
  • Whoever manages LMS reporting knows which format the course was published in.

How A11yCheck reviews this

A11yCheck detects whether a course's SCORM API is present and whether completion status is actually set during a scan, a real, narrow check for one common failure mode (a course that never reports itself complete). It does not currently validate xAPI or cmi5 statements or LRS connectivity, that still needs to be tested directly in your LMS.

Frequently asked questions

Which format should I use if I'm not sure?

SCORM, it's the safest default with the broadest LMS support. Move to xAPI or cmi5 only when you have a specific reporting need SCORM can't meet, and you've confirmed your LMS can actually receive that data.

Why does my course show as incomplete in the LMS even though I finished it while testing?

This usually means the course's completion trigger never actually fired the SCORM (or xAPI/cmi5) completion call, a real, common publishing bug, not a reporting delay. Verify the specific trigger that's supposed to set completion status, and test in the real LMS, not just the authoring tool's preview.

Can one course support multiple formats?

Most authoring tools, including Storyline and Rise, let you export the same course in different formats, but you choose one per export/publish, and each destination LMS needs to actually support whichever one you send it.

Related Guides

Summary

SCORM is the safe, universal default. xAPI offers richer tracking but needs a Learning Record Store your LMS may not have. cmi5 is a middle ground with growing but not universal support. Choose based on what your specific LMS can actually receive and report on, and always test completion tracking in the real LMS before calling a course launched.

Review your course before you publish it.

A11yCheck reviews Storyline and Rise courses for:

  • Accessibility
  • Course Quality
  • Course Engagement
Start a free review →

www.a11ycheck-dev.com