Here’s the comparison in three sentences. SCORM packages a course so it runs and reports inside any LMS that accepts it, which is how it became the trading format of corporate training. xAPI records learning experiences as small statements sent to a learning record store, from any app or device, with no LMS required. cmi5 runs xAPI data under SCORM-style launch rules, while AICC and LTI answer different questions again: how content sitting on somebody else’s server reports back, and how an outside tool plugs into an LMS at all.
So xAPI vs SCORM is the question most teams arrive with, and it’s usually not the one that decides anything. Five names, four questions, and only one of those questions is yours. This guide says what each standard does, which question it answers, and how to work out which conversation you’re actually in before you buy a system you don’t need.
If the module itself doesn’t exist yet, you can build it from a document you already have and settle the export question afterwards.
Key Takeaways
- SCORM and xAPI aren’t competitors on one axis. SCORM is a packaging-and-playback contract with an LMS. xAPI is a data format for describing any learning experience, anywhere.
- Three of the five standards have no living maintainer. “Which one will win” is no longer a question with an answer, so the one worth asking is which one your destination system accepts.
- xAPI has been an active IEEE standard since October 2023, which settles whether it’s going away. It isn’t.
- cmi5 has had a production release since June 2016 and still isn’t what authoring tools publish by default. SCORM, AICC and xAPI fill those output lists; cmi5 is the rarity. Check whether your LMS and your authoring tool both support it before you plan around it.
- A SCORM completion is an assertion the learner’s own browser makes. An xAPI statement is an authenticated server request. For audit evidence, that difference is the whole argument.
Five Names, Four Questions
Put the five side by side and the arguments mostly settle themselves. The columns below are the ones that change a decision, not the ones that fill a feature grid.
| Standard | How it reports | Needs a learning record store | Works when the content sits on another domain | Who maintains it now |
|---|---|---|---|---|
| SCORM | JavaScript in the learner’s browser, to the LMS that launched it | No | No | Nobody. ADL has been shut down |
| AICC | HTTP requests from the content server to the LMS, outside the browser | No | Yes. That’s what it was built for | Nobody. The committee dissolved in 2014 |
| xAPI | Authenticated web requests to a learning record store | Yes | Yes | IEEE, as 9274.1.1-2023 |
| cmi5 | The same as xAPI, plus launch and completion rules the LMS enforces | Yes | Yes | ADL, which has been shut down |
| LTI | It doesn’t. It launches an outside tool, which keeps its own content | No | Yes | 1EdTech |
Read the last column again. The ADL Initiative, the US government group that wrote both SCORM and xAPI, has been shut down and its repositories archived for public reference. The AICC dissolved in 2014. The only two rows with a living body behind them are xAPI and LTI.
That reframes the decision. You aren’t picking the format that will improve, because three of these will never change again. You’re picking the one the system in front of you accepts, and the person who knows that is an LMS administrator, not a comparison table.
What SCORM Does, and Where It Stops
SCORM (Sharable Content Object Reference Model) is a set of rules from the early 2000s that solved a real problem: a course built in one tool couldn’t run in another company’s LMS. A SCORM package is a zip file with a manifest that a compliant LMS can import, launch in a browser player, and track. Completion, a score, pass or fail, time spent: the package reports those through a JavaScript interface while the learner works.
That contract made courses portable, and portability made SCORM the default. When a client says “we’ll run your course in our LMS”, they almost always mean a SCORM package.
It’s also SCORM’s ceiling, and the ceiling is lower than it looks. Everything happens inside a browser window the LMS opened, so the package has to be able to reach that window. Host the content somewhere else and the browser’s own security rules block the conversation.
Moodle’s own documentation warns that an externally hosted package served from a different address than the LMS will play normally and pass back no grades or tracking at all. Nothing errors. The course just doesn’t count.
Two SCORM versions are still in circulation, and the difference that decides between them is narrow. SCORM 1.2 carries a single status field, so a package can report that someone finished the module or that they passed the assessment, but not both as separate facts. SCORM 2004 splits those into two fields set independently. If an auditor needs to see completion and a pass as distinct records, that’s the whole argument, and the full SCORM 1.2 vs 2004 decision has the rest of it.
The practical rule hasn’t moved in a decade. If you’re sending content into systems you don’t control, ship SCORM 1.2, because it’s the version least likely to be refused. What’s inside the package itself is the other question to settle before your first upload.
What xAPI Does
xAPI (the Experience API, formerly Tin Can) starts from a different question: what if learning data weren’t trapped in a course window? An xAPI system records statements, small records shaped like a sentence: actor, verb, object. “Maria completed Safety Module 3.” “Deniz passed the simulator check with 92%.” “This team practiced the escalation scenario.”
Statements travel over an authenticated web interface to a learning record store. They can come from a browser course, a mobile app, a simulator, or code somebody on your team wrote.

Two consequences follow. xAPI can describe experiences SCORM structurally cannot: offline work, mobile apps, real-world tasks, team exercises. And xAPI on its own says nothing about launching content or what “complete” means, because it’s a reporting language rather than a course-player contract.
That second gap is what cmi5 exists to fill.
One more fact settles the “is this going away” worry. xAPI was published as IEEE 9274.1.1-2023 in October 2023, an active IEEE standard defining the statement data model and the interface between activities and a learning record store. It’s one of only two entries in the table above with a live standards body behind it.
Tin Can and xAPI are the same specification
If you’ve been handed a requirement that says “Tin Can API”, you don’t need to look for a separate thing. Tin Can was the project’s working name. The specification reached version 1.0 in 2013 and has carried the name Experience API, or xAPI, from that point on. A tool advertising “Tin Can API 1.0” support and a tool advertising “xAPI 1.0” support are advertising the same capability.
The name lingers mostly in older procurement documents and in feature lists nobody has rewritten. Treat the two as interchangeable, and ask about the version number instead.
Do You Need a Learning Record Store?
A learning record store is where xAPI statements live. The IEEE standard defines it as “a system that exposes the RESTful Web Service API for the purpose of tracking and accessing experiential data, especially in learning and human performance.”
Three things about it decide whether xAPI is a project you should start this year.
- An LRS is not an LMS. It stores and serves statements. It doesn’t enroll anyone, launch courses, or issue certificates. Some LMS platforms embed one, and standalone products also exist.
- Somebody has to run it. That’s the real cost of adopting xAPI: another system to host, secure, and query, plus the analytics work that turns statements into an answer a director will read.
- You can skip it. If all your training runs in one system whose native reporting already answers your questions, adopting xAPI “for the future” buys you a database nobody opens.
So the honest test is a question about your own next quarter. Name the report you can’t produce today. If you can’t name one, you don’t need a learning record store, and no amount of standards modernization will give you a reason to want one.
Where cmi5 Fits
cmi5 answers the obvious follow-up: I like xAPI’s data, but I still need LMS-launched courses with a defined completion. The specification describes itself as “a ‘profile’ for using the xAPI specification with traditional learning management systems”, which is to say extra rules that give xAPI content a SCORM-style launch, defined completion criteria, and normalized reporting, with statements and a learning record store underneath.
Its history explains its position. The AICC began the work in 2010 and rebooted it in 2012 as an xAPI profile. When the AICC dissolved in 2014 the project transferred to ADL, and the first production release, the Quartz edition, arrived in June 2016.
Those facts point in opposite directions. cmi5 has been production-ready for close to a decade, and in that decade it has barely reached the output lists authoring tools publish: they name SCORM, AICC and xAPI, and cmi5 turns up in a minority of them. The organization it was transferred to has since been shut down.
So “is cmi5 the future?” isn’t a question anyone can answer for you. The question you can settle in an afternoon is narrower: does your LMS accept cmi5 content today, and does your authoring tool produce it? If the answer to either is no, the decision is made for this year.
If both say yes and you’re starting fresh, cmi5 gives you xAPI’s data without giving up the launch discipline you already rely on.
Where AICC Fits
AICC is the standard SCORM replaced, and the reason it hasn’t disappeared is architectural rather than sentimental. The Aviation Industry Computer-Based Training Committee wrote it for a world where training content lived on a supplier’s server and had to report into a customer’s system. So it reports the way that world needed it to: the content server sends requests straight to the LMS, outside the learner’s browser session.
That’s the exact failure mode SCORM has. A SCORM package served from a different address than the LMS can’t talk to it and fails silently. AICC content in the same position reports fine, which is why it still turns up in supplier-hosted training and in procurement documents written years ago.
In Moodle, that external route is switched off by default, and other platforms gate it in their own way. If a system claims AICC support and nothing arrives, an administrator setting is the first thing to check, not the package.
An AICC course is also built differently. It’s a set of plain-text descriptor files rather than the single XML manifest a SCORM package carries, which makes it easy to produce by hand and easy to break with a stray character.
No new AICC version is coming. If a client or an older system has asked you for AICC, what to hand over and what to check first is its own decision, and a short one.
Where LTI Fits
LTI (Learning Tools Interoperability) turns up in these comparisons and plays a different sport. It isn’t a content-packaging or tracking standard. It’s a launch-and-integration standard from 1EdTech: the content stays with the tool that built it, and the platform launches that tool instead of importing a file.
It belongs to the education side of the market, and the tell is which way the content moves. If your question is “how do I put my interactive tool inside somebody else’s platform?”, the answer is LTI. If your question is “how do I package and track a course?”, it’s one of the other four.
The Cheating Problem
Here’s the mechanism behind a difference that matters more than it looks. A SCORM course reports through a JavaScript object that lives in the learner’s browser. The content calls it to say “completed, score 95”. But the browser belongs to the learner, and anything the content can call, a person with the developer console can call too.
SCORM completions are, in the strict sense, assertions the client makes about itself.
xAPI statements take a different path: an authenticated request to a learning record store, sent with credentials the content has to hold. A determined cheater’s job moves from typing one line in a browser console to obtaining those credentials and forging traffic the store will accept, which is a different category of effort.
For a product update course, this is trivia. For compliance training whose completion records become audit evidence, it’s a real input to the decision. Before you accept a browser-reported completion as proof of anything, decide whether it would survive somebody asking how it was produced.
How to Choose: Who Controls the Delivery System?
Forget feature matrices for a moment. The decision almost always reduces to one question about control.

| Your situation | Standard | Why |
|---|---|---|
| You send courses into client or corporate LMSs you don’t control | SCORM (1.2 by default, 2004 when supported) | Maximum compatibility is the whole job |
| The destination has told you it takes AICC and nothing else | AICC | Its server-side reporting is the reason it’s still specified |
| You deliver through your own platform or embedded in your product | Possibly none | Native tracking is richer than a standards bridge, so export only at the edges |
| You need analytics across apps, simulators, and real-world activity | xAPI plus a learning record store | The only one built for cross-surface experience data |
| You control authoring and the LMS, both sides support it, and you’re starting fresh | cmi5 | xAPI data with SCORM-style launch discipline |
| You’re plugging a tool into a school’s or university’s LMS | LTI | A different job: integration, not packaging |
Two notes on that middle row, because it’s the easiest one to miss. Standards exist to cross system boundaries. When training runs where you already control delivery, inside your app or on your own decoupled course delivery stack, a standards layer buys you portability you may not need, and the price is the richer signal the platform tracks natively.
The standards question is a subset of the wider which systems to connect first question. SCORM and xAPI are two of the bridges, not the destination. And if the answer turns out to be SCORM, which authoring tool produces the package is the next thing to settle, not which standard is best.
Where Mini Course Generator Fits
Mini Course Generator is our product, so read this section as disclosure rather than advice; which plan carries what is on the pricing page, and the standards question is the same one whichever tool you use.
It sits deliberately on both sides of the control line.
Deliver through the platform itself, embedded in your site or product, and tracking is native: completions, scores, and certificates recorded in the platform, with no standards bridge to maintain. That’s the “possibly none” row above, working as designed.
When the training has to travel, courses export to SCORM for delivery inside corporate systems you don’t control, dynamic SCORM among the formats on the plans that carry it. If the harder problem is producing the content rather than moving it, the eLearning content development guide covers that side.
The other direction is the less common one. A SCORM Upload Block takes a SCORM package you already have, built in another LMS or another authoring tool, puts it inside a course, and reports on how learners interact with it. It’s a block inside a course rather than a wholesale import of somebody else’s course, and most authoring tools only export at all. If you’re consolidating training that was built in three different places over five years, being able to accept a package as well as produce one is the difference between a migration and a rebuild.
Whatever you choose, test the loop before you commit: build a module, export the package, and run it in the destination system with a test learner.
Start With the System, Not the Standard
The xAPI vs SCORM argument is a control question wearing a technology costume, and you can end it with one email. Ask whoever administers the destination system which formats it accepts and which versions, and ask your authoring tool the same question. Where those two answers overlap is your standard. If they overlap on SCORM 1.2, that’s the right answer even though it’s twenty-five years old.
Then check one thing more. Name the report you can’t produce today. If there isn’t one, you don’t need a learning record store, and the modernization project you were about to propose would add a system to run without answering a question anyone asked.
If the training will live where you already control delivery, the standards question may not apply at all, and an AI LMS will track it natively while you export packages only for the destinations that demand them.
Frequently Asked Questions
What is the difference between xAPI and SCORM?
SCORM packages a course to run and report inside an LMS browser player: completion, score, pass or fail, time. xAPI records any learning experience as actor-verb-object statements sent to a learning record store from any app or device. SCORM is a contract between a course and an LMS. xAPI is a data format for experiences.
Is SCORM still relevant?
Yes, and more so than its age suggests. It’s still the format clients and corporate systems ask for, still the safest thing to hand a system you can’t test against, and still the only one of the five that essentially every LMS imports. What has changed is that it will never be updated again, so treat it as a fixed format rather than a platform to grow into.
What is replacing SCORM?
On paper, cmi5: an xAPI profile with SCORM-style launch rules, with a production release since June 2016. In practice, nothing has replaced it at scale, and the body cmi5 was handed to has since been shut down. Adopt cmi5 when both your authoring tool and your LMS support it today, not on the strength of it being newer.
What is the difference between xAPI and an ordinary API?
xAPI is an API, with a fixed vocabulary. Any web API is a way for two systems to exchange data, with the shape of that data defined by whoever built it. xAPI standardizes both the shape (actor, verb, object) and the destination (a learning record store), so a statement written by a simulator can be read by a reporting tool that has never heard of that simulator.
What is the difference between SCORM and an LMS?
An LMS is software you log into: it enrolls people, assigns training, and reports on it. SCORM is a file format that LMS software can import. Asking whether to use SCORM or an LMS is like asking whether to use a PDF or a document reader. You need something to open the file.
Do you need a learning record store for xAPI?
Yes. Statements need somewhere to land, and that’s what a learning record store is for. Some LMS platforms include one. If all your training already runs in a single system with adequate reporting, you likely need neither xAPI nor a learning record store.
Which LMS supports xAPI?
Support varies by depth, so ask three separate questions rather than accepting a checkbox. Can it launch xAPI or cmi5 content? Does it include a learning record store? Does it emit statements about activity that happens natively inside it?
Plenty of platforms answer yes to the first and no to the other two.
Sources
- IEEE 9274.1.1-2023: Standard for Learning Technology (xAPI) – IEEE, published October 2023
- cmi5 Specification, Quartz edition – AICC/ADL
- Learning Tools Interoperability – 1EdTech
- ADL Initiative – repositories archived for public use
- Moodle – SCORM settings documentation



