SCORM vs xAPI: Which eLearning Standard Should You Use?
SCORM vs xAPI compared side by side: tracking, LRS, mobile, offline, cmi5 and AICC, plus clear advice on which eLearning standard fits your courses.
Get a Free Quotation
Scoped proposal delivered within 48 hours
SCORM vs xAPI in short
SCORM vs xAPI comes down to what you need to track. SCORM packages a course so it runs in most LMSs and reports completion, pass or fail, score and time. xAPI records almost any learning activity, inside or outside the LMS, as statements in a Learning Record Store (LRS). Pick SCORM for standard LMS courses and xAPI for richer data.
Need a course built for your LMS in SCORM or xAPI?
Get a Free Quote →How we compared SCORM and xAPI
We compared the two standards on the questions L&D teams and LMS admins actually face when they brief a course. Every technical point below comes from the published specifications or the tool vendors' own documentation.
1. What gets tracked: only course results, or detailed activity.
2. Where learning happens: in an LMS browser window, or also in apps, simulations and on the job.
3. Where the data lives: inside the LMS, or in an LRS you can query.
4. What you need to run it: LMS support, an LRS, reporting.
5. Effort and maturity: how much setup, design and testing each needs.
6. Tool support: what the main authoring tools can publish.
SCORM vs xAPI at a glance
| Criterion | SCORM (1.2 and 2004) | xAPI (Experience API, "Tin Can") |
|---|---|---|
| What it is | A set of technical standards for packaging a course and letting it talk to an LMS | A specification for recording learning experiences as statements |
| Created by | ADL (Advanced Distributed Learning) | ADL; xAPI 2.0 is now IEEE 9274.1.1-2023 |
| First released | SCORM 1.2 in October 2001; SCORM 2004 4th Edition in March 2009 | xAPI 1.0.0 on April 26, 2013 |
| How it communicates | JavaScript calls from the course to an API object the LMS provides in the browser | RESTful HTTP requests, in JSON, to an LRS |
| What it tracks | A fixed data model: completion, pass or fail, score, time, interactions, bookmark data | Any activity you define: actor, verb, object, plus optional result and context |
| Where learning can happen | A web browser launched by the LMS | A browser, a mobile app, a simulator, a game, offline or real-world activity |
| Where the data lives | In the LMS | In an LRS, which can sit inside an LMS or stand alone |
| Offline | Not defined: the course talks to the LMS in the browser | Yes: occasional connectivity is enough |
| Launch and packaging rules | Yes: a ZIP package with an imsmanifest.xml file | No launch or packaging rules (cmi5 adds them) |
| Getting data out | Depends on your LMS's reports | The spec defines a way to query statements from the LRS |
| Best for | Standard courses that only need LMS completion and scores | Simulations, apps, blended programs and learning analytics |
Sources: ADL xAPI specification, scorm.com, xapi.com, IEEE.
What is SCORM?
SCORM (Sharable Content Object Reference Model) is a set of technical standards from ADL that lets an eLearning course run and report in most LMSs. A SCORM course is a ZIP file with a manifest (imsmanifest.xml) at its root. When a learner opens it, the course finds the LMS's API in the browser and reports data such as completion status, pass or fail, score and time.
For a full explanation, see our guide on what SCORM is and why it matters for LMS integration.
Two versions are in use:
SCORM 1.2 (2001) is the simpler and widely supported one.
SCORM 2004 (latest edition March 2009) adds sequencing rules and separates "completed" from "passed".
What is xAPI (Tin Can)?
xAPI, the Experience API, is a specification for recording learning experiences. "Tin Can" was its earlier project name, so "Tin Can API" and "xAPI" mean the same thing. Each experience is saved as a statement in the form "I did this": an actor, a verb and an object. Statements are sent to a Learning Record Store (LRS), a server that receives, stores and gives access to learning records.
ADL released xAPI 1.0.0 on April 26, 2013. Version 2.0 is now an IEEE standard, IEEE 9274.1.1-2023, approved on March 30, 2023 and published on October 6, 2023.
What an xAPI statement looks like
{
"actor": {
"mbox": "mailto:learner@example.com",
"name": "Sample Learner"
},
"verb": {
"id": "http://adlnet.gov/expapi/verbs/passed",
"display": { "en-US": "passed" }
},
"object": {
"id": "https://example.com/courses/forklift-safety/final-check"
},
"result": {
"success": true,
"score": { "scaled": 0.85 }
}
}
- Actor
- who did it (here, a learner identified by email).
- Verb
- what they did ("passed").
- Object
- what they did it to (the final check of a forklift safety course).
- Result
- the outcome (passed, with a scaled score of 0.85).
The xAPI format is JSON. Actor, verb and object are required; result, context and timestamp are optional. Statements cannot be changed once stored; a wrong one is voided, not edited.
What is the difference between SCORM and xAPI?
The main difference between SCORM and xAPI is scope. SCORM tracks a course that runs inside an LMS. xAPI tracks experiences wherever they happen and stores them in an LRS. In practice, six differences matter.
1. How the data travels
SCORM content uses a JavaScript API that the LMS places in the browser window. xAPI uses a REST API: the content (or app) sends HTTP requests with JSON to the LRS. This is why xAPI works from mobile apps and simulators.
2. How much you can track
SCORM has a fixed list of data elements. xAPI lets you define what to record, from "watched a video" to "completed a pre-flight checklist".
3. Where the learning happens
SCORM needs a browser window launched by the LMS. xAPI can record learning in apps, games, simulations, on the job and offline, then send it when the device reconnects.
4. Where the data lives
SCORM data stays in the LMS. xAPI data sits in an LRS, which can be part of the LMS or a separate system, and the spec defines how to query it.
5. What is defined for you
SCORM defines packaging, launch and the data model. xAPI defines the data format and the API, but not how content is launched or when a course counts as complete. cmi5 fills that gap.
6. How mature it is
SCORM has been in use since 2001 and is supported by most LMSs and authoring tools. xAPI is newer, and LMS support varies: some platforms include an LRS, others need a separate one.
For developers: to build SCORM, choose the version, call Initialize first and Terminate last, use GetValue and SetValue on the LMS's API object, then zip the content with the manifest and schema files. To build xAPI, send statements to the LRS's statements endpoint over HTTP with one of the authentication methods the spec defines (OAuth 1.0, HTTP Basic or Common Access Cards), and decide how the content will be launched and get its credentials (cmi5 is the standard way).
What can you track with SCORM vs xAPI?
Both standards record the basics. xAPI is used when you need data that a course in an LMS window cannot see. The examples below show where the line falls in typical workplace training.

| Training situation | SCORM | xAPI |
|---|---|---|
| Compliance course: completion, pass or fail, final score | Yes | Yes |
| Quiz answers per question | Yes (interactions) | Yes |
| Resume where the learner left off | Yes (bookmark data, with size limits) | Yes (state data in the LRS) |
| Which choices a learner made in a branching scenario | Partly (as interactions) | Yes, step by step |
| Steps taken in a software or safety simulation | Limited | Yes |
| Learning in a mobile app, including offline | No | Yes |
| On-the-job checklist signed off by a supervisor | No | Yes |
| Classroom or virtual session attendance in the same record | No | Yes |
| Combine learning data with performance data for analytics | No | Yes, by querying the LRS |
What xAPI is used for, in short: learning analytics, simulations and serious games, mobile and offline learning, blended programs, and showing whether training changed behavior on the job. If you only need "who completed what, with which score", xAPI adds cost without adding value.
cmi5 vs SCORM: where cmi5 fits
cmi5 is "xAPI with rules". It is an xAPI profile that defines how an LMS imports, launches and tracks content, which xAPI alone does not. Its first edition (Quartz) was published on June 1, 2016, and the current specification text carries ADL's copyright.
What cmi5 adds to plain xAPI:
A defined launch
The LMS launches the course (an "assignable unit") and passes it what it needs to send statements.
Defined completion
The LMS uses "moveOn" criteria to decide when a unit is satisfied.
A fixed set of verbs
Launched, initialized, completed, passed, failed, abandoned, waived, terminated and satisfied, so reports mean the same thing in every LMS.
Compared with SCORM, cmi5 keeps the LMS-launched course model but adds xAPI's flexible data, and content does not have to sit on the LMS's server. The catch: your LMS must support cmi5. Ask your LMS vendor before you commit.
AICC vs SCORM: is AICC still used?
AICC is a legacy standard created by the Aviation Industry Computer-Based Training Committee. It uses the HTTP AICC Communication Protocol (HACP) to connect a course and an LMS. Several current authoring tools still offer AICC output (see the tool table below). For a new course, choose AICC only if your LMS cannot accept SCORM, xAPI or cmi5.

Which should you choose: SCORM, xAPI or cmi5?
Choose SCORM if your courses run in an LMS and you need completions and scores. Choose xAPI if you need detailed data or learning outside the LMS. Choose cmi5 if you want xAPI data with LMS launch and your LMS supports it.
Pick SCORM if…
The long-standing packaging and tracking standard for LMS courses.
- Works in most LMSs
- Every major authoring tool publishes it
- Simple to test
- Fixed data model
- Browser and LMS only
- SCORM 1.2 bookmark data is limited to 4,096 characters
Compliance, onboarding and product courses where the LMS report is the record.
Pick xAPI if…
A data specification that records any learning experience as statements in an LRS.
- Tracks simulations, apps, offline and on-the-job learning
- Data you can query and combine
- Needs an LRS, a statement design and a reporting plan
- No defined launch or completion rules
Simulations, blended programs, mobile learning and learning analytics.
Pick cmi5 if…
An xAPI profile that adds LMS launch and completion rules.
- xAPI data with predictable LMS behavior
- Content can be hosted anywhere
- LMS support is less common than SCORM support; check yours first
Teams that want xAPI data but still manage courses in an LMS.
5 questions to answer before you decide
- 1Which standards does our LMS accept today: SCORM 1.2, SCORM 2004, xAPI, cmi5?
- 2Does our LMS include an LRS, or would we need a separate one?
- 3Do we need more than completion and score? Name the decision the extra data will support.
- 4Will learners use the training outside the LMS: on mobile, offline, in a simulator or on the job?
- 5Who will build and read the reports or dashboards?
If you answer "SCORM only" to 1 or "no" to 3 and 4, SCORM is the right choice.
Not sure which standard fits your LMS?
What you need before you use xAPI
xAPI is only as useful as the plan behind it. Before you ask for an "xAPI compliant" course, check these six things.

- An LRS. You cannot use xAPI without one. Check whether your LMS has a built-in LRS or whether you need a separate one.
- A statement design. Decide which actions to record, which verbs to use and how activities are named, before the course is built. Changing them later breaks reports.
- A launch method. Decide how the content gets the LRS address and credentials. cmi5 is the standard answer when an LMS launches the course.
- Reporting. Raw statements are not a report. Plan the xAPI dashboard or analytics tool, and who will use it.
- Data and privacy. Statements identify people. Agree what you store, where, and for how long, with your IT and data protection teams.
- An authoring tool that publishes xAPI. Most major tools do (see the table below).
What drives the cost of an xAPI course (compared with the same course in SCORM): the number of custom statements, simulation or app tracking, LRS setup and testing, dashboard or report building, and extra testing in your LMS and LRS. For a quote on your course:
Get a Free Quote →Which authoring tools publish SCORM, xAPI and cmi5?
Most modern authoring tools can create xAPI content as well as SCORM. Here is what the vendors' own documentation lists for the tools we work in.
| Authoring tool | LMS output options listed in the vendor's or standards documentation |
|---|---|
| Articulate Storyline 360 | SCORM 1.2, SCORM 2004 (2nd, 3rd, 4th editions), AICC, xAPI, cmi5 |
| Articulate Rise 360 | xAPI (Tin Can API), SCORM 2004, SCORM 1.2, AICC, cmi5 |
| Adobe Captivate | SCORM 1.2, SCORM 2004, AICC, xAPI |
| iSpring Suite | SCORM 1.2, SCORM 2004, xAPI, cmi5 |
| Lectora | HTML, AICC, SCORM, cmi5, xAPI |
Checked in the vendors' documentation and on Rustici Software's site in October 2026. Options change with new releases.
The tool publishes the package; it does not design your statements. A tool's xAPI output records only the events that tool sends by default. Tracking actions specific to your training, such as each step of a simulated procedure, has to be designed and built.
Starting from slides? See how to convert PowerPoint to SCORM.
Common mistakes when choosing between SCORM and xAPI
- 01
Choosing xAPI with no LRS or reporting plan.
The data is collected but nobody can read it.
- 02
Designing statements after the build.
Verbs and activity IDs chosen late create messy, inconsistent data.
- 03
Long SCORM 1.2 courses with many interactions.
Bookmark data in SCORM 1.2 is limited to 4,096 characters, so resume can fail. SCORM 2004 3rd and 4th Editions allow 64,000.
- 04
Using SCORM 2004 sequencing without testing it in your LMS.
Sequencing is harder to build and test, and some LMSs support only part of it.
- 05
Assuming "supports xAPI" means the same in every LMS.
Some LMSs include an LRS, others need a separate one, and reporting on statements differs. Ask what your LMS stores and reports.
- 06
Not testing in the real LMS.
A course that is "SCORM compliant" can still behave differently from one LMS to another.
How IKHYA handles SCORM and xAPI on projects
IKHYA is a custom eLearning development company that has delivered eLearning since 2010, with 120+ specialists, 500+ projects and clients in 40+ countries. We build in Articulate Storyline 360, Articulate Rise 360, Adobe Captivate, Lectora, iSpring Suite, dominKnow ONE and Elucidat, and deliver courses as SCORM 1.2, SCORM 2004, xAPI, cmi5, AICC or HTML5.
LMS platforms we have delivered courses to include Moodle, TalentLMS, Docebo and Cornerstone.
Other LMS platforms we have delivered courses to include Absorb, SAP SuccessFactors, Workday Learning, Canvas and Litmos.
We match the standard to your LMS. We build courses that track in SCORM 1.2, SCORM 2004, xAPI and cmi5 LMSs (and AICC for older systems), and we test every course in your LMS.
Learning analytics with xAPI. We offer learning analytics and ROI measurement using xAPI and the Kirkpatrick model.
We help with the LMS side too. Our LMS implementation service covers LMS selection, setup, implementation and migration.
Case study
LMS migration: 320 courses and 8 years of records moved from Moodle to Docebo
- Client
- A professional-services firm with 5,000 learners.
- What we did
- Content audit that retired 90 outdated courses
- Repackaged 60 old SCORM 1.2 courses
- Migrated completion records
- Tested every package in the new LMS
- Trained the LMS admins
- Delivered in 12 weeks
- Result
- Cut-over in one weekend, 0 lost records, 230 courses live on day 1.
FAQ about SCORM vs xAPI
xAPI is used to track learning that a standard LMS course cannot see: simulations, mobile apps, offline learning, on-the-job tasks and blended programs, and to feed learning analytics.
No. SCORM is still widely used and supported by most LMSs, and most authoring tools publish both. xAPI is chosen when richer data or learning outside the LMS is needed.
Yes. xAPI statements are stored in a Learning Record Store. Some LMSs include an LRS; others need a separate one.
Yes. "Tin Can" was the project name of the API that became the Experience API (xAPI). "SCORM vs Tin Can" and "SCORM vs xAPI" ask the same question.
cmi5 keeps SCORM's LMS-launched course model but uses xAPI for the data, so it can track more and the content can be hosted anywhere.
AICC is a legacy standard from the Aviation Industry Computer-Based Training Committee. Several authoring tools still offer AICC output, but new courses normally use SCORM, xAPI or cmi5.
Yes. We deliver courses as SCORM 1.2, SCORM 2004, xAPI, cmi5, AICC or HTML5, so we can publish the output your LMS needs.
We test every course in your LMS, so completion, scores and resume behave as expected.
Yes. Our LMS implementation service covers LMS selection, setup, implementation and migration.
Need a course that tracks the way you need?
Tell us about your LMS, your audience and what you need to measure. We will recommend SCORM or xAPI and build the course to match.