Skip to content

SCORM 2004 — editions, sequencing, and the tools that support it

The second generation of SCORM: a larger data model, and sequencing rules the LMS is required to enforce.

Written and maintained by the scorm-tools.com editor. 56 listed tools state support.

What SCORM 2004 is

SCORM 2004 keeps the packaging idea of SCORM 1.2 — a ZIP with an imsmanifest.xml — and replaces nearly everything else. The runtime object is named API_1484_11 and its methods follow the IEEE 1484.11.2 binding: Initialize, GetValue, SetValue, Commit, Terminate.

Two changes matter in practice. The data model separates completion from success, so a learner can finish an activity and still fail it, and it adds a scaled score, objectives, and a suspend area of up to 64,000 characters. And the manifest can carry Sequencing and Navigation rules, built on IMS Simple Sequencing: an activity tree with rollup, prerequisites, attempt limits and rules that decide what the learner may do next — enforced by the LMS rather than by code inside the course.

Sequencing is also why support varies so much. The 2nd, 3rd and 4th Editions each corrected and tightened it, and an LMS can implement one edition faithfully and behave differently on another. A listing that says "SCORM 2004" without naming an edition is telling you less than it appears to, which is why the editions are recorded separately here.

Versions and what changed

Release history of SCORM 2004
Version Released What changed
1st EditionJanuary 2004Withdrawn soon after publication; not a target anyone should support.
2nd EditionJuly 2004The first usable release: new data model, Simple Sequencing, the API_1484_11 object.
3rd EditionOctober 2006Substantial sequencing corrections and clarified rollup behaviour; the edition many older LMSs implement.
4th EditionMarch 2009Current edition. Further sequencing fixes, shared data between SCOs, and clarified conformance requirements. Errata issued since.

Who says so

We link to the specification and to other people's registries. We do not run a conformance programme and we do not issue badges of our own: a claim here is registry-verified only when an official registry says so, and otherwise it is marked as the vendor's statement or as our own check on a date.

Specification

Registry

  • No active registry

    ADL retired the SCORM certification programme and the certified-product list with it, and adlnet.gov has been unreachable since around May 2026. The 4th Edition test suite survives on GitHub, so a vendor can run it and show you the output, but no registry independently confirms the result.

Tools that support SCORM 2004

Grouped by what the tool does, and within each group ordered by how well the claim is evidenced: registry entries first, then facts we checked ourselves, then the vendor's own statement.

Authoring tools & course frameworks

Authoring tools & course frameworks that support SCORM 2004
Tool Evidence Licence Pricing
Adapt Authoring ToolSelf-hosted web UI for the Adapt framework, publishing responsive HTML5 coursesEditions 4theditor-checked— source, opens in a new tab Checked GPL-3.0Open source
Adapt FrameworkResponsive HTML5 course framework whose SCORM output is a bundled pluginEditions 4theditor-checked— source, opens in a new tab Checked GPL-3.0Open source
CourseCodeCode-first course framework and CLI that packages to SCORM, cmi5 and LTI 1.3Editions 4theditor-checked— source, opens in a new tab Checked MITOpen source
eXeLearningFree authoring tool from the Spanish education ministry, exporting SCORM, IMS CP and EPUBEditions 4theditor-checked— source, opens in a new tab Checked AGPL-3.0Open source
LessonKitAuthor courses as React components, then export SCORM, xAPI or cmi5 from the same codebaseeditor-checked— source, opens in a new tab Checked Apache-2.0Open source
LiaScript ExporterTurns a Markdown course into a SCORM 1.2, SCORM 2004, IMS or xAPI package from the command lineEditions 4theditor-checked— source, opens in a new tab Checked BSD-3-ClauseOpen source
NumbasBrowser-based maths e-assessment system that compiles exams to SCORM 2004Editions 3rdeditor-checked— source, opens in a new tab Checked Apache-2.0Open source
Xerte Online ToolkitsServer-hosted, template-driven authoring for institutions, with SCORM and xAPI exportEditions 3rdeditor-checked— source, opens in a new tab Checked Apache-2.0Open source

Converters & migration

Converters & migration that support SCORM 2004
Tool Evidence Licence Pricing
Learning Records ConverterPython API that maps SCORM 2004, IMS Caliper and Matomo traces into xAPIeditor-checked— source, opens in a new tab Checked GPL-3.0Open source
SCORM-to-xAPI WrapperADL's drop-in APIWrapper.js that re-emits SCORM calls as xAPI statementseditor-checked— source, opens in a new tab Checked noneOpen source
scormConverterPython script that relabels SCORM 2004 3rd Edition packages as 4th EditionEditions 3rd, 4theditor-checked— source, opens in a new tab Checked MITOpen source
ppt-to-scorm.comPowerPoint decks turned into packages that actually record completionEditions 2nd, 3rd, 4thvendor-stated— source, opens in a new tabproprietaryFreemium

Players, runtimes & debuggers

Players, runtimes & debuggers that support SCORM 2004
Tool Evidence Licence Pricing
lms-lrsA NestJS and Vue reference build of an LMS with a SCORM runtime and an xAPI storeeditor-checked— source, opens in a new tab Checked MITOpen source
Moodle SCORM activity (mod_scorm)The SCORM player inside Moodle — the most exercised open-source runtime there isEditions 3rd, 4theditor-checked— source, opens in a new tab Checked GPL-3.0-or-laterOpen source
SCORM LabDrop a package in the browser and watch every API call it makesEditions 2nd, 3rd, 4thvendor-stated— source, opens in a new tabproprietaryFree
SCORM-LearningManagementSystemA small .NET SCORM LMS and player you can read end to endvendor-stated— source, opens in a new tab Checked MITOpen source

Testing, validation & conformance

Testing, validation & conformance that support SCORM 2004
Tool Evidence Licence Pricing
ADL SCORM 2004 4th Edition Test SuiteThe official conformance suite for SCORM 2004 4th Edition, frozen in 2015 and built for IE8Editions 4theditor-checked— source, opens in a new tab Checked Apache-2.0Open source
PrismUnzips a SCORM, AICC, cmi5 or xAPI package and runs axe-core over every page in iteditor-checked— source, opens in a new tab Checked MITOpen source
SCORM ValidatorA small Streamlit app that opens a package zip and reports structural faultseditor-checked— source, opens in a new tab Checked MITOpen source
scorm_debugDrop SCORM zips in a folder and launch each one against a 1.2 or 2004 harness locallyeditor-checked— source, opens in a new tab Checked NOASSERTIONOpen source
SCORM LabDrop a package in the browser and watch every API call it makesEditions 2nd, 3rd, 4thvendor-stated— source, opens in a new tabproprietaryFree

Packagers, SDKs & libraries

Packagers, SDKs & libraries that support SCORM 2004
Tool Evidence Licence Pricing
@gamestdio/scormA TypeScript port of the pipwerks wrapper, published once in 2019 and untouched sinceeditor-checked— source, opens in a new tab Checked MITOpen source
@studiolxd/scormHeadless SCORM 1.2 and 2004 runtime with React, Vue, Angular, Svelte and Web Component adaptersEditions 4theditor-checked— source, opens in a new tab Checked MITOpen source
@szenadam/scorm-api-wrapperA TypeScript reimplementation of the pipwerks SCORM wrapper, published to npmeditor-checked— source, opens in a new tab Checked MITOpen source
dart_scormSCORM 1.2 and 2004 bindings for Flutter and Dart web applicationseditor-checked— source, opens in a new tab Checked Apache-2.0Open source
grunt-scorm-manifestGrunt task that writes an imsmanifest.xml for a single-SCO packageEditions 3rdeditor-checked— source, opens in a new tab Checked MITOpen source
ngx-scorm-wrapperAn injectable Angular service wrapping the SCORM 1.2 and 2004 runtime APIseditor-checked— source, opens in a new tab Checked MITOpen source
node-scorm-packagerNode library that writes an imsmanifest and lays out a SCORM course directoryEditions 3rd, 4theditor-checked— source, opens in a new tab Checked MITOpen source
pipwerks SCORM API WrapperThe JavaScript wrapper most SCORM courses have been built on since 2008editor-checked— source, opens in a new tab Checked MITOpen source
React SCORM ProviderA React context and higher-order component over the pipwerks SCORM wrappereditor-checked— source, opens in a new tab Checked MITOpen source
SCOBotSCORM 1.2 and 2004 content wrapper with a mock LMS for working offlineEditions 2nd, 3rd, 4theditor-checked— source, opens in a new tab Checked CC-BY-SA-4.0Open source
SCOL-RA thin SCORM shell that proxies the API to content hosted on another domaineditor-checked— source, opens in a new tab Checked MITOpen source
scorm (Ruby gem)Reads, checks and builds SCORM packages from Ruby, with a small CLI alongsideEditions 3rdeditor-checked— source, opens in a new tab Checked MITOpen source
SCORM Cloud API v2 clientsRustici's generated client libraries for the SCORM Cloud REST API, in six languagesEditions 2nd, 3rd, 4theditor-checked— source, opens in a new tab Checked Apache-2.0Open source
scorm-againA tested JavaScript SCORM 1.2 and 2004 runtime for anything that has to host a courseEditions 4theditor-checked— source, opens in a new tab Checked MITOpen source
SCORM-ManifestsBoilerplate imsmanifest.xml files for single-SCO SCORM 1.2 and 2004 packagesEditions 4theditor-checked— source, opens in a new tab Checked noneOpen source
scorm-mcp-serverAn MCP tool that wraps a finished HTML module into an offline SCORM packageEditions 4theditor-checked— source, opens in a new tab Checked MITOpen source
simple-scorm-packagerNode package that turns a build directory into a conformant SCORM zipEditions 3rd, 4theditor-checked— source, opens in a new tab Checked MITOpen source
simplify-scormSCORM 1.2 and 2004 runtime APIs in plain JavaScript, for the LMS side of the fenceEditions 4theditor-checked— source, opens in a new tab Checked MITOpen source
TesseraAuthor a course as Svelte pages, then export the same source as SCORM, cmi5 or xAPIEditions 4theditor-checked— source, opens in a new tab Checked MITOpen source
Unity-SCORM Integration KitExport a Unity WebGL build as a SCORM 2004 package and report progress from C#Editions 4theditor-checked— source, opens in a new tab Checked Apache-2.0Open source
usescormReact hook that wraps the SCORM run-time API and keeps state in suspend dataeditor-checked— source, opens in a new tab Checked MITOpen source
eLearning Module ParserJava library that detects and parses SCORM, AICC, cmi5 and xAPI packages into typed metadataEditions 2nd, 3rd, 4thvendor-stated— source, opens in a new tab Checked Apache-2.0Open source
RESCORMReact boilerplate that ships SCORM tracking alongside the application codeEditions 4thvendor-stated— source, opens in a new tab Checked MITOpen source

LMS & LMS plugins

LMS & LMS plugins that support SCORM 2004
Tool Evidence Licence Pricing
Claroline ConnectSymfony and React learning platform with a SCORM 1.2 and 2004 player pluginEditions 3rd, 4theditor-checked— source, opens in a new tab Checked AGPL-3.0Open source
EscolaLMS ScormLaravel package that stores, plays and tracks SCORM packages over a REST APIEditions 3rd, 4theditor-checked— source, opens in a new tab Checked MITOpen source
Forma LMSCorporate-focused PHP learning platform with its own SCORM 1.2 and 2004 playerEditions 3rd, 4theditor-checked— source, opens in a new tab Checked GPL-2.0-onlyOpen source
Frappe LearningOpen-source LMS from the Frappe stack, with a deliberately minimal SCORM chapter typeeditor-checked— source, opens in a new tab Checked AGPL-3.0Open source
ILIASGerman open-source LMS carrying SCORM 1.2, SCORM 2004 and cmi5 objects in coreEditions 3rd, 4theditor-checked— source, opens in a new tab Checked GPL-3.0Open source
laravel-scormLaravel package that unpacks SCORM zips and stores CMI tracking in your databaseEditions 2nd, 3rd, 4theditor-checked— source, opens in a new tab Checked MITOpen source
MoodleThe most widely deployed open-source LMS, and the SCORM behaviour most content gets tested againstEditions 3rd, 4theditor-checked— source, opens in a new tab Checked GPL-3.0-or-laterOpen source
Open edXThe large self-hosted learning platform, with SCORM and xAPI arriving via pluginseditor-checked— source, opens in a new tab Checked AGPL-3.0Open source
Open edX SCORM XBlockUpload a SCORM package into an Open edX course and grade it like any other blockeditor-checked— source, opens in a new tab Checked AGPL-3.0Open source
SakaiHigher-education LMS with an in-tree SCORM player built on the ADL reference codeEditions 3rdeditor-checked— source, opens in a new tab Checked ECL-2.0Open source
Opigno LMSDrupal distribution turned LMS, with SCORM and xAPI handled by its own modulesEditions 3rdvendor-stated— source, opens in a new tab Checked GPL-2.0-or-laterOpen source
Totara LearnMoodle-derived enterprise LMS, GPL-licensed but distributed only through a paid subscriptionvendor-stated— source, opens in a new tab Checked GPL-3.0On application

Distribution, licensing & hosting

Distribution, licensing & hosting that support SCORM 2004
Tool Evidence Licence Pricing
SCORMBridgeLicense your SCORM course into a client's LMS without handing over the fileEditions 2nd, 3rd, 4thvendor-stated— source, opens in a new tabproprietaryFreemium

Choosing between them

Which edition should I publish?

3rd Edition is the broadest safe target if you use sequencing; 4th Edition if you know the LMS supports it. If you are not using sequencing at all, the practical difference between 2004 and 1.2 is the data model, and 1.2 will import in more places.

SCORM 2004 or cmi5?

Both give the LMS a launch-and-report contract. SCORM 2004 keeps the content inside the LMS window and gives you sequencing; cmi5 lets the content run anywhere, report through xAPI, and go offline — but it has no sequencing model and thinner support.

Questions people ask about SCORM 2004

What is the difference between SCORM 2004 2nd, 3rd and 4th Edition?

Mostly sequencing. Each edition corrected ambiguities in the Sequencing and Navigation book and tightened conformance requirements; 4th Edition also added shared data between SCOs. The runtime data model changed comparatively little.

Why does my sequenced course behave differently on two LMSs?

Because sequencing is the hardest part of SCORM to implement and the part editions differ on. Two systems can both be conformant against different editions and still make different navigation decisions on the same activity tree.

What is cmi.success_status for?

It records whether the learner passed, separately from cmi.completion_status which records whether they finished. SCORM 1.2 combined the two in one element, which is the single most common reason people move to 2004.

Do I need sequencing to use SCORM 2004?

No. A single-SCO 2004 package with no sequencing rules is common and behaves predictably. You take the larger data model without taking on the interoperability risk.

How much suspend data can SCORM 2004 hold?

Up to 64,000 characters, against 4,096 in SCORM 1.2. That is usually enough to store real course state rather than an encoded shorthand.

The other standards

SCORM 1.2
The oldest version of SCORM still in daily use, and still the safest export format when you do not control the target LMS.
xAPI
A way to record that somebody did something, anywhere, and keep it in a store you control.
cmi5
The xAPI profile that supplies what xAPI deliberately left out: how an LMS launches a course and how the two agree it is finished.
AICC
The pre-SCORM interoperability rules, still worth knowing because HACP crosses domains where SCORM cannot.
LTI
A launch protocol, not a packaging format: the LMS sends the learner to a tool that stays where it is.