---
title: "Simplify Scorm"
description: "simplify-scorm implements the runtime side of SCORM: include scormAPI.js on the page that launches a course and it exposes window.API for SCORM 1.2 and window.API_1484_11 for SCORM 2004, records everything the course sets on a CMI object, and gives you event hooks on each API call so you can persist that data wherever you like. cmi.toJSON() hands you a plain object to POST to your own service."
canonical_url: "https://scorm-tools.com/tools/simplify-scorm"
last_updated: "2026-10-31T10:22:03.709Z"
---

simplify-scorm implements the runtime side of SCORM: include `scormAPI.js` on the page that launches a course and it exposes `window.API` for SCORM 1.2 and `window.API_1484_11` for SCORM 2004, records everything the course sets on a CMI object, and gives you event hooks on each API call so you can persist that data wherever you like. `cmi.toJSON()` hands you a plain object to POST to your own service.

It is aimed at developers embedding course playback in an application that is not an LMS — a portal, an internal tool, a product with a training tab. For that job the code is short enough to read in a sitting, which is most of its appeal.

What it is not is conformant. The repository is unusually honest about this: `scormAPI2004.compliance.md` is a checklist of 2004 requirements with an explicit TODO section, and there is no sequencing or navigation engine at all. Nothing validates data-model values on the way in.

The maintenance picture matters more than the feature list. The last commit was April 2020 and fifteen issues are open. Its real significance today is lineage — the actively maintained scorm-again library names simplify-scorm as its starting point. Treat this repository as a readable reference implementation, and reach for its descendant if you need something under support.
