Skip to content

SCORM testing, validation and conformance tools

Prove a package is correct before a client's LMS proves it isn't.

Compiled and checked by the scorm-tools.com editor. Last updated .

Most SCORM failures are found late, by the wrong person, in production. The course was signed off, uploaded to the client's LMS, and then learners' completions did not record — and now the problem is a support ticket rather than a build step.

The tools in this category move that discovery earlier. Manifest validators check imsmanifest.xml against the schema and the common packaging mistakes (missing resources, wrong scormType, broken hrefs, identifiers that collide). Test harnesses drive a package programmatically and assert on what it sent — useful in CI, where a regression in a course template can otherwise ship silently. Conformance test suites, notably ADL's, are the formal article: they exercise the full data model and sequencing behaviour a conformant implementation must support. Test packages are the inverse — known-good and known-bad content you fire at an LMS to find out what it actually implements.

A note on the word "certified": conformance certification is granted by the bodies that own the specifications, not by tools and not by us. Where a product appears in an official registry we link to it and mark the fact registry-verified; everything else is a vendor's own claim or our own check.

8 tools · 7 open source · 1 support cmi5

Order is editorial and never for sale: standards coverage first, then maintenance state, then popularity, then alphabetical. How we list .

Tools in this category

Filter these tools

Showing 8 of 8

ADL SCORM 2004 4th Edition Test Suite
The official conformance suite for SCORM 2004 4th Edition, frozen in 2015 and built for IE8

Standards supported: 2004

Licence: Apache-2.0Pricing: Open sourceMaintenance: Stale
Prism
Unzips a SCORM, AICC, cmi5 or xAPI package and runs axe-core over every page in it

Standards supported: 1.2 · 2004 · xAPI · cmi5 · AICC

Licence: MITPricing: Open source
SCORM Lab Made by us
Drop a package in the browser and watch every API call it makes

Standards supported: 1.2 · 2004

Licence: ProprietaryPricing: Free
SCORM Validator
A small Streamlit app that opens a package zip and reports structural faults

Standards supported: 1.2 · 2004

Licence: MITPricing: Open source
scorm-local
A SCORM 1.2 API shim that keeps CMI data in localStorage while you build content

Standards supported: 1.2

Licence: MITPricing: Open sourceMaintenance: Stale
scorm_debug
Drop SCORM zips in a folder and launch each one against a 1.2 or 2004 harness locally

Standards supported: 1.2 · 2004

Licence: NOASSERTIONPricing: Open sourceMaintenance: Stale
simple-scorm-api
One HTML file that impersonates an LMS so a SCORM 1.2 SCO can be run locally

Standards supported: 1.2

Licence: No licence filePricing: Open sourceMaintenance: Archived
xAPI LRS Conformance Test Suite
ADL's Node.js suite that runs the MUST requirements of the xAPI spec against a live LRS

Standards supported: xAPI

Licence: MITPricing: Open source

Questions people ask about testing, validation & conformance

How do I test a SCORM package without an LMS?

Use an in-browser debugger or a local test harness: both provide the SCORM API, record every call, and show you the resulting data model. For automated checks, a harness that can be scripted lets you assert on completion and score in CI.

Is there an official SCORM conformance test?

Yes — ADL publishes conformance test suites for SCORM 1.2 and SCORM 2004, and a separate suite for xAPI. They are the reference for whether an implementation is conformant. They are exacting and slow, which is why lighter validators exist for day-to-day work.

What should be in a SCORM QA checklist?

At minimum: the package imports cleanly, the correct SCORM version is declared, initialise and terminate are called, completion and success statuses are set as intended, score is reported in the right range, suspend data survives a resume, and the package behaves when the LMS returns an error. Testing against more than one LMS catches the rest.

Why does the same package pass one validator and fail another?

Validators differ in strictness and in which optional parts of the specification they enforce. A package can be schema-valid and still break in an LMS that applies stricter data-model rules — which is why manifest validation and runtime testing are two different jobs.

Authoring tools & course frameworks
Where the course gets made — and where its SCORM output is decided.
Converters & migration
Turning what you already have — decks, video, H5P, old packages — into something an LMS accepts.
Players, runtimes & debuggers
Run a SCORM package outside an LMS — and watch what it actually does.
Packagers, SDKs & libraries
The pieces you build with when the course is an application, not a slide deck.
LMS & LMS plugins
Where the package finally has to run — and how well each platform actually implements the spec.
xAPI & cmi5
The standards after SCORM — and the tools that actually implement them.
Distribution, licensing & hosting
Getting a course into someone else's LMS without giving away the course.
Analytics & tracking
Turning completion records into something worth reading.