Drop your SCORM package

or click to choose a .zip file

SCORM 1.2 and 2004 · Nothing is sent over the network · No sign-up

Two different questions

Valid does not mean
working

A validator answers “is this package well built”: is the manifest at the root, do the declared files exist, do the identifiers match up. That is necessary, and it is what our SCORM validator does.

But a package can pass every one of those checks and never report a single result. It is even the most frustrating scenario: the module displays perfectly, the learner goes through to the end, and the LMS says “not started”. No structural check can catch it, because the defect is not in the structure — it is in what the content does, or fails to do, at runtime.

This tester answers the other question. It implements a real SCORM runtime API, lets the content use it, and shows you every exchange: what it reads, what it writes, when it saves, and whether it closes properly.

What you will learn

The six things that decide
tracking in your LMS

  1. 1

    Does the content find the API?

    A SCO looks for window.parent.API by walking up the frame hierarchy. If it does not find it, it often carries on as if nothing happened — and never reports anything. If the log stays empty, you have your answer.

  2. 2

    Which version does it really speak?

    It is inferred from the entry point called, not from what the manifest declares. A manifest announcing SCORM 2004 with content that calls LMSInitialize is a classic sign of a badly exported package.

  3. 3

    Does it write a completion status?

    That is what turns a line from “in progress” to “completed” in your platform. Many modules only write it on the very last slide — go all the way to the end before drawing conclusions.

  4. 4

    Does it report a usable score?

    A raw score with no declared maximum cannot be reliably turned into a percentage, and every LMS deals with it in its own way. The tester flags this case, which explains many discrepancies between two platforms.

  5. 5

    Does it save along the way?

    Content that never calls Commit leaves everything to the final call. If the learner closes the browser before that, their progress can vanish — the kind of loss you only discover in production.

  6. 6

    Can learners pick up where they left off?

    Resuming relies on suspend_data and the location bookmark. The tester shows their size and warns you beyond the 4,096 characters guaranteed by SCORM 1.2 — past that, some LMSs truncate, and resuming breaks.

Your files

The package never leaves
your browser

The zip is unpacked in memory, and the files are served locally by a service worker — a browser component that answers the content's requests in place of a server. That is what lets a module fetch its images, fonts and data as if it were deployed, while nothing has been put online.

You can check it yourself. Open the network tab of your developer tools before dropping the file: no outgoing request carries your package. That is also why you can run a client's content through it without a second thought.

FAQ

The tester, plainly

The validator checks the structure, the tester watches the behaviour. They work together: start with the validator to find out whether your LMS will accept the package, then come here to find out whether it will get anything out of it.

No, never. Everything happens in your browser. We have no copy of your content and no record of what you test.

Three causes dominate: the authoring tool's settings do not enable tracking, the quiz is not tied to the module result, or the module waits for a final action the learner never takes. The call log tells you which: if there is no SetValue on the score, the problem is in the export; if there is one but it comes late, it is the learning path that needs work.

Yes. The tester implements the standard runtime API, the one every SCORM content uses whatever tool produced it. It does not know about tools, it knows the standard — which is exactly what makes it universal.

Most often, the manifest points to a page missing from the zip, or a referenced file is absent. The tester then shows an explicit message in place of the missing content. The validator will list exactly which declared files cannot be found.

Not this page as is: its engine is a standalone JavaScript implementation, written to run in the browser with no dependency. If you build in Angular, there is an open-source library under the MIT licence that plays SCORM 1.2 and 2004 packages inside your own application: ng-scorm-player, available on npm.

Because Geduk is a French LMS, built for French training organizations. These two tools are universal, so they have an English version; the product pages do not, at least for now.

Valid and working:
check both

Run the validator to see whether your LMS will accept the package,
then the tester to see what it will actually get out of it.

SCORM 1.2 & 2004 · Free · Nothing uploaded

Who makes this

Free tools from
a French LMS

These two tools are made by Geduk, a learning management system published by CVBSP on Reunion Island, France. They are free, need no account, and keep no record of what you test.

The rest of the site is in French. Geduk is built for French training organizations, so its product pages, pricing and documentation are in French only. The SCORM tester and validator are universal, which is why they come in English too. Questions in English are welcome at contact@cvbsp.fr.