All Articles
Guide 9 min read

What Is SCORM? Files, Packages and How to Make One (2026)

SCORM is a long-standing standard that lets e-learning content be packaged as a ZIP file and run, and tracked, inside almost any LMS. Here is what is inside a SCORM package, SCORM 1.2 versus 2004, how it compares with xAPI and how to make a SCORM file.

SCORM (Sharable Content Object Reference Model) is a technical standard that lets e-learning content be packaged as a single ZIP file and run, and tracked, inside almost any learning management system. A SCORM file or SCORM package is that ZIP: your lessons, plus a manifest that tells the LMS what is inside and how to launch it.

This guide explains what SCORM is, what is inside a package, how SCORM 1.2 differs from SCORM 2004, how it compares with xAPI and cmi5, whether it is still worth using, how to make a SCORM file, and what usually goes wrong. It ends with how Continuum Learn exports and imports SCORM, using what the product actually does.

Key Takeaways

  • What is SCORM?
  • What is inside a SCORM package?
  • What does an LMS do with a SCORM package?
  • What is the difference between SCORM 1.2 and SCORM 2004?
01

What is SCORM?

SCORM was developed by Advanced Distributed Learning (ADL), a US government initiative, and brought together earlier work from the aviation training community and others. Its aim was simple: content built once should work in any compliant LMS, and the LMS should be able to find out whether the learner finished and how well they did.

It does two jobs. First, it defines how content is packaged so an LMS can import it. Second, it defines a runtime interface, a small set of JavaScript calls, so that the content can tell the LMS things like "this learner has completed" and "their score was 80".

02

What is inside a SCORM package?

A SCORM package is a ZIP file. If you open one, you will find:

  • imsmanifest.xml, at the root of the ZIP. This is the manifest. It lists the course structure, the files, and the entry point the LMS should launch for each lesson (called a SCO, or sharable content object, or an asset).
  • The content itself: HTML pages, JavaScript, CSS, images, audio and video.
  • Schema files in some packages, defining the XML formats used by the manifest.

You normally do not unzip the file. You upload it as it is, and the LMS reads the manifest. If imsmanifest.xml is not at the root of the ZIP (a common mistake when someone zips a folder rather than its contents), the LMS will usually reject the package.

03

What does an LMS do with a SCORM package?

When you upload a package, the LMS reads the manifest and creates a course from it. When a learner opens the course, the LMS launches the content in a frame or window and exposes an API object. The content finds that API and calls it: first to start, then to report progress, location, completion and score, and finally to finish.

The LMS stores whatever the content reports. That includes the learner’s position, so they can leave and come back where they stopped, and the completion and score values that appear in your reports. The key point is that the results live in the LMS that launched the package. If you move the same file to another LMS, you start with fresh data there.

04

What is the difference between SCORM 1.2 and SCORM 2004?

SCORM 1.2 dates from 2001 and is still the most widely supported version. SCORM 2004 came in several editions after that and added more detail. In practice the differences you will notice are these.

SCORM 1.2SCORM 2004
CompatibilityAccepted by almost every LMSAccepted by most modern LMSs
Completion and pass/failOne combined status valueSeparate completion and success statuses
ScoreRaw scoreScaled score as well
Sequencing rulesNoneDefined in the standard, but support varies widely between LMSs
Choose it whenYou are unsure what the LMS supportsYou know the LMS supports it and want richer reporting

One practical limit worth knowing: SCORM 1.2 allows only 4,096 characters of "suspend data", which is the field content uses to remember where the learner was. Very large courses that store a lot of state can hit it. If you cannot find out what the LMS supports, SCORM 1.2 is the safe choice.

05

What is the difference between SCORM, xAPI and cmi5?

SCORM was designed for browser-based courses launched by an LMS. It cannot easily track activity outside that model. xAPI (sometimes called Tin Can) was created to remove that limit. It records learning as simple statements of the form "actor, verb, object" and sends them to a learning record store, so a simulator, a mobile app or a workplace task can all report. cmi5 is a profile of xAPI that adds the launch-and-report rules that LMSs expect.

SCORMxAPIcmi5
What it isPackaging and runtime standard for LMS contentA way of recording learning activity as statementsA profile of xAPI that adds LMS-style launch and reporting rules
Created byADLADLAICC, adopted by ADL
Where data goesThe LMS that launched itA learning record store (LRS)An LRS, launched from an LMS
RunsIn a browser, inside the LMSAnywhere that can send statements: apps, simulators, offlineIn a browser, launched by the LMS
Typical strengthNear-universal LMS supportTracks things SCORM cannotBrings xAPI into a launch-and-track model

Most teams choose by asking what the receiving system accepts. If it accepts SCORM, use SCORM. If you need to track things SCORM cannot see, look at xAPI or cmi5.

06

Is SCORM still relevant?

Yes, for a practical reason rather than a technical one. Almost every LMS accepts SCORM, and many clients, awarding bodies and training suppliers still ask for it. It remains the simplest way to move a course from one system to another. It has real limits (it assumes a browser and an LMS, and its data model is basic), but those limits do not matter for a standard course with lessons, a quiz and a completion result.

If you only need to show a course on your own website, you may not need SCORM at all. See embedding courses on your website.

07

How do you make a SCORM file?

You do not write a SCORM package by hand. You use a tool that produces one. The usual routes are:

  • A desktop or cloud authoring tool. You build the lessons, quizzes and interactions, then publish or export as SCORM. These are often called SCORM authoring tools.
  • An LMS or course builder that exports SCORM. You build the course where you already work and export it when someone else’s LMS needs it.
  • Converting existing material. Some tools turn slides or documents into a SCORM package, usually with limited interactivity.

Whichever you use, the steps are the same: build the content, choose the SCORM version, export the ZIP, and test it in the LMS where it will run. If you are unsure which version to choose, ask that LMS’s administrator.

08

How does Continuum Learn export and import SCORM?

These details come from our help guide on SCORM and embedding and from the product itself.

  • Export. In the course editor, click Export SCORM, choose SCORM 1.2 or SCORM 2004 (and a language, if the course has translations), then download the ZIP. The button appears once the course has at least one module. Team admins and authors who can edit the course can do this.
  • What reports back. Completion, quiz and knowledge-check scores out of 100, and the learner’s place in the course. Results stay in the other LMS and do not come back into Continuum.
  • What does not carry over. Progression rules (prerequisites and drip release), surveys, live and Zoom sessions and the discussion board. Lessons in a package are always open. External videos such as YouTube and Vimeo are not bundled, so learners need an internet connection to play them.
  • Snapshot. A package is a copy of the course at the time you exported it. If you change the course, export again and re-upload.
  • Import. In Create > Courses there is an Import SCORM option that takes a SCORM ZIP and creates a course from it. The dialog describes the supported format as SCORM 1.2, so test a package before relying on it.

If you want a course to live on your own site rather than in another LMS, Continuum can also publish it as web pages; that is covered on the embedding page.

09

Why is my SCORM course not tracking, and how do I test it?

Most SCORM problems come from a short list of causes.

  • Wrong version for the LMS. The package says it is 2004 but the LMS only reads 1.2, or the reverse. Re-export in the other version.
  • The learner has not reached the completion point. Completion is usually reported when the content decides it is done (for example, last lesson viewed or quiz passed). Check what the course’s completion rule is.
  • The LMS is configured not to track. Some LMSs have an "attempts" or "review mode" setting that discards results on a repeat visit.
  • Content blocked by the browser. Pop-up blockers can stop content that opens in a new window, and third-party cookie blocking can stop an API from being found.
  • The manifest is not at the ZIP root. Zip the contents, not the containing folder.

Before sending a package to a client, preview it somewhere other than your own system. A hosted SCORM testing service such as SCORM Cloud is a convenient way to see how a package behaves in a neutral player, and it is worth checking in the real target LMS as well.

Conclusion

SCORM is a ZIP file with a manifest and a small tracking interface. It is not the newest standard, but it is the one nearly every LMS understands, which is why it is still the practical way to move a course between systems. Choose 1.2 if in doubt, test in the destination, and keep the original course so you can export again when something changes.

If you need to deliver a course to a client’s LMS, or put one on your own website, see how Continuum Learn does both.

Frequently asked questions

What is the difference between SCORM and xAPI?

SCORM packages e-learning content so it can be launched and tracked by an LMS, and it reports to the LMS that launched it. xAPI records learning activity as statements sent to a learning record store, so it can track things outside a browser course, such as simulations, mobile apps or real-world tasks.

How can I make a SCORM file?

Build your content in an authoring tool or a course builder that exports to SCORM, choose SCORM 1.2 or 2004, and export. You get a single ZIP file, which you upload to the LMS without unzipping. Test it in the target LMS, or in a SCORM testing tool, before sending it to learners.

Is SCORM still relevant?

Yes. SCORM is old, and newer standards such as xAPI and cmi5 exist, but nearly every LMS still accepts SCORM packages and many clients and training providers still ask for it. It remains the most practical way to move a course between systems.

What is a SCORM-based course?

It is a course that has been packaged as a SCORM ZIP file, so that any compliant LMS can launch it and receive its completion and score data. The same file can be uploaded to different LMSs without rebuilding the content.

Can I import SCORM into Continuum Learn?

Yes. In Create > Courses there is an Import SCORM option that takes a SCORM ZIP file and creates a course from it. The import dialog describes the supported format as SCORM 1.2, so confirm your package version with a test import. Continuum can also export its own courses as SCORM 1.2 or 2004.

Found this useful? Share it with your network

LinkedIn

Ready to transform your training?

See how Continuum Learn helps organisations deliver impactful learning experiences at scale.

Book a Demo Explore Features