SSmartNtools

SCORM Debugger

Upload a SCORM 1.2 package and test it right in your browser. Every LMS API call is logged and the CMI data model is inspected live — nothing is uploaded to any server.

Drag a SCORM package (.zip) here or click to choose one

SCORM 1.2 .zip package

Your package is unzipped and run entirely in your browser. It is stored locally only and automatically deleted within 8 hours.

What the SCORM Debugger does

SCORM (Sharable Content Object Reference Model) is the standard that lets e-learning content talk to a Learning Management System (LMS). When a SCORM course runs, it calls a JavaScript API — LMSInitialize, LMSGetValue, LMSSetValue, LMSCommit, LMSFinish — to read and store data such as completion status, score and bookmark location.

This tool acts as a fake LMS entirely in your browser. It unzips your SCORM 1.2 package, serves it through a service worker so every asset loads correctly, and injects a mock SCORM API that logs every call and keeps a live CMI data model. It's ideal for checking whether a package initializes, sets its status and score, and stores suspend data — without uploading it to a real LMS.

Everything happens locally: the package is never sent to a server, is kept only in your browser's cache, and is automatically removed within 8 hours.

Frequently asked questions

Is my SCORM package uploaded to a server?

No. The .zip is unzipped and run entirely in your browser using a service worker. Nothing is sent to any server.

Which SCORM version is supported?

SCORM 1.2. The tool injects the SCORM 1.2 API (window.API) and its CMI data model.

Why doesn't my package load?

The tool needs a valid launch file — an index.html at the package root or a resource href in imsmanifest.xml. Packages that require a real LMS backend or SCORM 2004 may not run.

How long is my package stored?

Only in your browser's local cache, and it is automatically deleted within 8 hours. You can also click 'Change package' to remove it immediately.

Does the data I set persist?

During the session, yes: LMSSetValue writes to an in-memory CMI model and LMSGetValue reads it back, so you can verify status and score. Resetting the session or reloading clears it.

Related tools

See all tools in this category →