Skip to content

eLearning Module Parser

Java library that detects and parses SCORM, AICC, cmi5 and xAPI packages into typed metadata

Active Last commit Checked · 24 Aug 2026

The facts

Licence
Apache-2.0 — OSI approved
Pricing
Open source
Deployment
Embedded in your own application
Platforms
Library
Vendor
Jonathan Putney

Standards support

Every line says where the claim came from. We do not test conformance ourselves and we issue no badge of our own.

Standards support for eLearning Module Parser, with the source of each claim and the date it was last confirmed.
Standard Supported Provenance Checked Note
SCORM 1.2 Yes vendor-stated— source, opens in a new tab
SCORM 20042nd, 3rd, 4th editions Yes vendor-stated— source, opens in a new tabDetected by SCORM 2004 namespaces in imsmanifest.xml; the parser surfaces the declared edition along with sequencing, rollup rules and delivery controls.
xAPI Yes vendor-stated— source, opens in a new tabtincan.xml parsing only — activity definitions, launch activity ids and URLs. It is not an LRS client and sends no statements.
cmi5 Yes vendor-stated— source, opens in a new tabReads cmi5.xml: AU metadata, move-on criteria, mastery score, launch method and launch parameters. This is course-structure parsing, not a cmi5 launch implementation — nothing here issues a fetch URL or manages an AU session.
AICC Yes vendor-stated— source, opens in a new tabDetected from a .crs descriptor containing a [Course] section; parses assignable units and prerequisite graphs. Parsing only — HACP communication is out of scope.
LTI Not stated
Claimed
— the vendor states it. We have not confirmed it.
Checked
— an editor confirmed it on the date shown.
Verified
— an official registry lists it, and we link to the entry.

Editor's notes

This is the ingest half of a SCORM platform, packaged as a Java 17 library. Point it at a zip, a directory or an S3 prefix and it works out which of five formats it is holding — SCORM 1.2, SCORM 2004, AICC, cmi5 or xAPI/TinCan — then returns typed metadata with consistent accessors for title, launch URL, structure and mastery data. That normalisation is the actual value: without it, every format needs its own parsing path and its own set of edge cases before your application can do anything useful with an upload.

The audience is narrow and obvious. If you are building or maintaining a JVM-based LMS, a content pipeline or QA tooling that accepts course packages, this saves you a fortnight of XML archaeology. If you are not on the JVM, it is not for you, and there is no CLI to borrow.

Be clear about the boundary. Nothing here plays content, tracks a learner, or implements a run-time. The same author's scorm-again covers the browser side, and the two are designed to sit either end of the same system.

It is young — first commit November 2024 — and has very few stars, but it is published to Maven Central, versioned properly, and pushed within the last week. Judge it on the release discipline rather than the star count.

Listed on scorm-tools.com

Maintainers and vendors are welcome to show the listing badge in a README or on a product page. It is free, it does not require a claim, and there is nothing to buy.

Get the embed code