---
title: "Scormify"
description: "SCORMify is about as small as a SCORM wrapper gets: a manifest, an index.html, and roughly sixty lines of JavaScript that find the LMS API object, call LMSInitialize, and expose two helpers for writing cmi.core.score.raw and cmi.core.lesson_status. You drop your own HTML, CSS, video and scripts into the folder, zip it, and upload."
canonical_url: "https://scorm-tools.com/tools/scormify"
last_updated: "2026-10-31T10:22:01.840Z"
---

SCORMify is about as small as a SCORM wrapper gets: a manifest, an `index.html`, and roughly sixty lines of JavaScript that find the LMS API object, call `LMSInitialize`, and expose two helpers for writing `cmi.core.score.raw` and `cmi.core.lesson_status`. You drop your own HTML, CSS, video and scripts into the folder, zip it, and upload.

That minimalism is the appeal. If you have hand-built web content and need it to register a completion in an LMS, this is a fifteen-minute job rather than an authoring-tool purchase, and the code is short enough to read in full before you trust it. Litmos published it in 2012 and it remains one of the more widely forked starting points on GitHub.

What it is not is a runtime. There is no suspend-data handling, no bookmarking, no interaction reporting, no error-code checking, and no retry if `LMSCommit` fails — all of which real courses eventually need. It has not been touched since 2017, so anything you find wrong is yours to fix.

Treat it as a template you copy and extend, not a dependency you install. If you want an actively maintained wrapper with a full data model, look at pipwerks SCORM-API-wrapper or SCORM Again instead; if you only need a completion flag, SCORMify is genuinely enough.
