SCORM packagers, SDKs and libraries for developers
The pieces you build with when the course is an application, not a slide deck.
Compiled and checked by the scorm-tools.com editor. Last updated .
This is the developer end of the directory, and the part no other directory covers — general software indexes exclude libraries and CLIs, and e-learning listings only track products with a pricing page.
Packagers and CLIs take a built web app and emit a conformant zip: manifest, resource declarations,
the right SCORM version, sensible identifiers. Several are bundler plugins, so a course built with Vite or
webpack produces a package as a build artefact rather than a manual step. API wrappers live on the
content side and give your application a sane interface over the raw SCORM API — initialise, get, set,
commit, terminate — while handling the LMS quirks that make raw integration miserable. Manifest tooling
parses and validates imsmanifest.xml, which is where a surprising share of import failures originate.
Framework integrations wrap all of that for React, Vue, Angular, Svelte, Unity and Godot.
What to look at before adopting one: does it support both SCORM 1.2 and 2004, does it expose a persistence boundary you can control, and is it still maintained? Every listing here carries the licence, the last commit date and an honest maintenance badge, because a wrapper abandoned in 2019 can still be the right answer — but you should know that going in.
26 tools · 26 open source · 4 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 26 of 26
Standards supported: 1.2 · 2004
Licence: MITPricing: Open sourceMaintenance: StaleStandards supported: 1.2 · 2004
Licence: MITPricing: Open sourceStandards supported: 1.2 · 2004
Licence: MITPricing: Open sourceMaintenance: StaleStandards supported: 1.2 · 2004
Licence: MITPricing: Open sourceMaintenance: StaleStandards supported: 1.2 · 2004
Licence: MITPricing: Open sourceMaintenance: StaleStandards supported: 1.2 · 2004
Licence: CC-BY-SA-4.0Pricing: Open sourceStandards supported: 1.2 · 2004
Licence: MITPricing: Open sourceStandards supported: 1.2 · 2004 · xAPI · cmi5 · AICC
Licence: Apache-2.0Pricing: Open sourceStandards supported: 1.2 · 2004
Licence: No licence filePricing: Open sourceMaintenance: StaleStandards supported: 1.2
Licence: MITPricing: Open sourceMaintenance: StaleStandards supported: 1.2 · 2004 · xAPI · cmi5
Licence: MITPricing: Open sourceStandards supported: 2004
Licence: Apache-2.0Pricing: Open sourceStandards supported: 1.2 · 2004
Licence: Apache-2.0Pricing: Open sourceMaintenance: StaleStandards supported: 1.2 · 2004 · xAPI · cmi5 · AICC
Licence: Apache-2.0Pricing: Open sourceStandards supported: 1.2 · 2004
Licence: MITPricing: Open sourceMaintenance: StaleStandards supported: 1.2 · 2004
Licence: MITPricing: Open sourceMaintenance: StaleStandards supported: 1.2 · 2004
Licence: MITPricing: Open sourceMaintenance: StaleStandards supported: 1.2 · 2004
Licence: MITPricing: Open sourceMaintenance: StaleStandards supported: 1.2 · 2004
Licence: MITPricing: Open sourceStandards supported: 1.2 · 2004
Licence: MITPricing: Open sourceStandards supported: 1.2
Licence: MITPricing: Open sourceStandards supported: 1.2 · cmi5
Licence: MITPricing: Open sourceStandards supported: 1.2 · 2004
Licence: MITPricing: Open sourceStandards supported: 1.2 · 2004
Licence: MITPricing: Open sourceMaintenance: ArchivedQuestions people ask about packagers, sdks & libraries
Which JavaScript SCORM library should I use?
Look for one supporting SCORM 1.2 and 2004, still receiving commits, with an explicit persistence interface. The listings show licence, stars and last commit so you can judge maintenance rather than guess. Several long-abandoned wrappers still rank well in search — the badges here say plainly which.
Do I need a library, or can I call the SCORM API directly?
You can call it directly; it is not a large API. What libraries buy you is the tedious part — finding the API object across nested frames, handling initialisation order, normalising the differences between 1.2 and 2004, and coping with LMSs that return errors in creative ways.
What is the difference between a packager and an authoring tool?
A packager takes content you have already built and wraps it conformantly. An authoring tool creates the content. If you have a web app and need it to run in an LMS, you want a packager.
Are these production-ready?
Some are used in thousands of courses; some are a weekend project with three stars. The maintenance badge and the metrics panel on each listing exist precisely so you can tell which is which.