---
title: "SCORM players, runtimes and debuggers | SCORM Tools"
canonical_url: "https://scorm-tools.com/categories/players-runtimes-debuggers"
last_updated: "2026-10-31T10:21:55.465Z"
meta:
  description: "Run a SCORM package outside an LMS — and watch what it actually does."
  "og:description": "Run a SCORM package outside an LMS — and watch what it actually does."
  "og:title": "SCORM players, runtimes and debuggers"
---

# **SCORM players, runtimes and debuggers**

Run a SCORM package outside an LMS — and watch what it actually does.

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

A SCORM package is inert until something gives it an API to talk to. That something is a runtime: the JavaScript object a course looks for on `**window.API**` (SCORM 1.2) or `**window.API_1484_11**` (SCORM 2004), which answers `**LMSInitialize**`, `**GetValue**`, `**SetValue**` and `**Commit**` and persists the data model somewhere.

The tools here fall into three groups that are easy to confuse. **Runtimes and API wrappers** are libraries you embed — either in a course, to talk to whatever LMS it lands in, or in your own application, to play the role of the LMS. **Players** are complete applications that unzip a package, serve it, and drive it end to end. **Debuggers** are players with the lid off: they show the API call transcript, the current CMI data model, suspend data, sequencing decisions and the moment something returns error 101.

If you are testing whether a package works before it reaches a client's LMS, start with a debugger. If you are building a product that must host SCORM content, start with a runtime and read its persistence adapter carefully — that is where most integrations go wrong.

**5 tools** · 4 open source · 0 support cmi5

Order is editorial and never for sale: standards coverage first, then maintenance state, then popularity, then alphabetical. [~~How we list ~~](https://scorm-tools.com/how-we-list).

## Tools in this category

## Filter these tools

**Standard**

**Licence**

**Pricing**

**Platform**

**Open source only (4)**

Showing 5 of 5

Moodle SCORM activity (mod\_scorm)

The SCORM player inside Moodle — the most exercised open-source runtime there is

Standards supported: 1.2 · 2004 · AICC

Licence: **GPL-3.0-or-later**Pricing: **Open source**

[Moodle SCORM activity (mod\_scorm)](https://scorm-tools.com/tools/moodle-mod-scorm)

SCORM Lab **Made by us**

Drop a package in the browser and watch every API call it makes

Standards supported: 1.2 · 2004

Licence: **Proprietary**Pricing: **Free**

[SCORM Lab](https://scorm-tools.com/tools/scorm-lab)

SCORM-LearningManagementSystem

A small .NET SCORM LMS and player you can read end to end

Standards supported: 1.2 · 2004

Licence: **MIT**Pricing: **Open source**

[SCORM-LearningManagementSystem](https://scorm-tools.com/tools/scorm-lms-dhodges47)

lms-lrs

A NestJS and Vue reference build of an LMS with a SCORM runtime and an xAPI store

Standards supported: 1.2 · 2004

Licence: **MIT**Pricing: **Open source**Maintenance: **Stale**

[lms-lrs](https://scorm-tools.com/tools/lms-lrs)

scorm-player

Browser-only SCORM 1.2 player and run-time inspector, with no server and no upload

Standards supported: 1.2

Licence: **MIT**Pricing: **Open source**

[scorm-player](https://scorm-tools.com/tools/scorm-player-sheikhsulaiman)

## **Questions people ask about players, runtimes & debuggers**

### **What is the difference between a SCORM player and a SCORM runtime?**

A runtime is a library that implements the SCORM API surface a course calls; a player is a whole application that loads a package, hosts it in an iframe and provides that runtime. Every player contains a runtime, but you can embed a runtime without a player.

### **Do I need a full LMS just to check a package works?**

No. An in-browser debugger will unzip the package locally, serve it, and show you every API call it makes. That catches the majority of packaging faults — missing manifest entries, wrong SCORM version, completion never being set — in a minute rather than a deployment cycle.

### **Why does my course work in one player but not in an LMS?**

Usually one of three things: the LMS enforces the data-model constraints the player relaxes (string lengths, vocabularies, read-only elements), the LMS restricts cross-origin access to the API object, or the course relies on a sequencing behaviour the LMS implements differently. Tools with LMS quirk profiles exist specifically to reproduce these differences.

### **Which JavaScript runtime should I embed in a new project?**

Look for one that supports both SCORM 1.2 and 2004, is still receiving commits, and has an explicit persistence interface so you can decide where learner state goes. The listings here show the standards matrix and the last commit date for exactly that comparison.

## **Related categories **

**Authoring tools & course frameworks**

Where the course gets made — and where its SCORM output is decided.

[Authoring tools & course frameworks](https://scorm-tools.com/categories/authoring-tools)

**Converters & migration**

Turning what you already have — decks, video, H5P, old packages — into something an LMS accepts.

[Converters & migration](https://scorm-tools.com/categories/converters-migration)

**Testing, validation & conformance**

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

[Testing, validation & conformance](https://scorm-tools.com/categories/testing-validation-conformance)

**Packagers, SDKs & libraries**

The pieces you build with when the course is an application, not a slide deck.

[Packagers, SDKs & libraries](https://scorm-tools.com/categories/packagers-sdks-libraries)

**LMS & LMS plugins**

Where the package finally has to run — and how well each platform actually implements the spec.

[LMS & LMS plugins](https://scorm-tools.com/categories/lms-and-plugins)

**xAPI & cmi5**

The standards after SCORM — and the tools that actually implement them.

[xAPI & cmi5](https://scorm-tools.com/categories/xapi-cmi5)

**Distribution, licensing & hosting**

Getting a course into someone else's LMS without giving away the course.

[Distribution, licensing & hosting](https://scorm-tools.com/categories/distribution-licensing)

**Analytics & tracking**

Turning completion records into something worth reading.

[Analytics & tracking](https://scorm-tools.com/categories/analytics-tracking)