Check a course package before it goes to your LMS
Drop the published .zip — SCORM 1.2, SCORM 2004, cmi5, xAPI or AICC. You get a plain list of what will break and how to fix it: missing or mis-cased files, a zipped folder, Flash, resume data too big for SCORM 1.2, and more. Your file is uploaded for checking only and deleted immediately; never kept.
Drop a published .zip here, or click to choose one
What the checker looks at
It reads the package the way an LMS will — manifest first, then every file it names — without running any of the course's code. Each finding says what learners would see, how to fix it, and the specification rule or LMS behavior behind it.
Package structure
- imsmanifest.xml at the root of the zip — or found one folder down, the classic zipped-the-folder mistake
- Well-formed XML and the declared SCORM version (1.2, or 2004 2nd, 3rd or 4th Edition)
- Default organization, every item's resource, unique identifiers
- Every launch file and listed file present, including names that differ only in upper/lower case
- No local file paths or off-site launch URLs; mastery scores, completion thresholds and sequencing
Runtime risk
- Code that finds the LMS API and closes the session
- SCORM 1.2's 4,096-character resume-data limit, judged against the authoring tool and course size
- Storyline launched without index_lms.html; Flash content; http:// media inside an https LMS
- Very large packages and media files; file names that break web addresses
- Known LMS behaviors: a session opened before the course, and an empty entry value on resume
cmi5, xAPI and AICC
- cmi5.xml: AU ids are IRIs, launch URLs resolve, launchMethod and moveOn are valid
- tincan.xml: an activity with a launch file, an IRI id that is not a placeholder
- AICC: all four course structure files and a launch file that exists
Facts at a glance
- The package checker reads the manifest and every file it names without running the course's code, so runtime findings are flagged as risks, not proofs.
- It catches a manifest one folder down — the result of zipping the folder instead of its contents — which most LMSs reject.
- It flags launch and listed files whose names differ only in upper/lower case: they work on Windows and macOS and fail on Linux LMS servers.
- SCORM 1.2 guarantees 4,096 characters of resume data (cmi.suspend_data); the checker warns when a Storyline course published as SCORM 1.2 is large enough to risk it, and SCORM 2004 3rd Edition raises the limit to 64,000.
- cmi5 and xAPI packages are checked for IRI activity ids and launch files that exist; AICC packages for all four course structure files.