A free reference

SCORM file size limits by LMS platform

SCORM itself sets no maximum file size. The limit comes from the learning management system (LMS) you upload to, and every platform is different. Here is what the major ones allow, and how to keep yours small enough to work anywhere.

The short answer: SCORM has no size limit

The standard says how a course is packaged, not how big the file can be.

When people ask "what is the maximum SCORM file size?", the answer usually surprises them: SCORM does not set one. The standard describes how a course is bundled into a ZIP file (officially a "Package Interchange File"), holding an imsmanifest.xml and the course's files. It says nothing about a maximum size.

Every limit you run into is set by the LMS or server you upload to, through its upload cap, timeouts, or storage settings. Rustici Software, the company behind the official SCORM testing tools, says the same about its own software: it "doesn't necessarily have a file size limit" . That is why the same package can upload cleanly to one platform and be rejected by another.

In one line: there is no SCORM file size limit. There is only your LMS's upload limit, which is what the table below is really about.

SCORM file size limits by LMS

The documented upload limits for a SCORM package on popular platforms. These are limits for a single upload, not your total account storage.

LMS platformSCORM / upload limitTypeNotes
MoodleNo fixed defaultConfig-dependentSet by the server's PHP upload_max_filesize / post_max_size (commonly tens of MB; Moodle's own config material references 64 MB), then by site, course, and activity limits. No SCORM-specific cap. Source
TalentLMS600 MB (paid) / 100 MB (free)Hard limitPer-plan SCORM upload limit. Other types: video 600 MB, office documents 200 MB, images 10 MB. Source
SAP Litmos1 GBHard limitSCORM 1.2 / 2004 ZIP, per the current requirements (video 1 GB, PowerPoint 30 MB, other files 250 MB). An older Litmos article still lists 500 MB. Litmos has moved its help centre behind a login, so there is no public source page to link.
Docebo1 GB (1,024 MB)Hard limit + guidanceAlso recommends no more than 15,000 files inside a package. Supports SCORM 1.2 and 2004. Source
Absorb LMS1 GBHard limitCourse upload limit (the path used for SCORM). The File Manager allows up to 2 GB for any file type. Source
Blackboard Learn (Anthology)2,500 MB (about 2.5 GB)ConfigurableDefault upload limit through the user interface, adjustable by an administrator. Does not apply to Web Folder or Drive uploads. Source
D2L Brightspace2 GBConfigurableDefault SCORM object limit, increasable on request through your Customer Success Manager. Batch up to 50 objects at a time. Source
Canvas (Instructure)5 GB files / 500 MB mediaHard limit5 GB for general files; 500 MB is the limit for audio and video added through the Rich Content Editor. SCORM is added as an external (LTI) tool. Source
LearnUpon2.5 GBHard limitCompressed SCORM package. You can add up to 100 files or 2.5 GB per batch. Source
Cornerstone OnDemand2 GBHard limitCurrent Content Uploader per-file limit. Older documentation cited 750 MB. Source
SAP SuccessFactorsUp to 2 GB (default 10 MB)ConfigurableThe fileUploadMaxSize parameter caps at 2 GB with a 10 MB default. Configurable per instance, not a typical default. Source
Adobe Learning Manager600 MBHard limitOfficial maximum upload size per Adobe's system requirements (formerly Captivate Prime). Source
LearnWorlds400 MBHard limitPer SCORM file. Combined per-plan upload caps also apply. Source
SmarterU350 MBHard limitMaximum SCORM package size. Source

The range, from Moodle (limited only by its server setting) up to 5 GB on Canvas, shows the limit comes from the LMS, not from SCORM. Build a course small enough to fit the smallest limit you care about, and it will upload anywhere.

How big should a SCORM file be?

There is no official target, but there is a number most courses aim to stay under.

The most commonly cited guideline is to keep a course well under about 250 MB where you can, so it stays quick to load and easy to upload. The LMS vendor Knowledge Anywhere, for example, recommends keeping courses under 250 MB and accepts files up to 1 GB. Treat it as a guide, not a rule: it is a common target, not something the standard requires.

There is no minimum either. A text-and-image course can sit comfortably under 1 MB. Size depends almost entirely on media, so two courses of the same length can be ten times apart in size. The better question is not "how big is too big" in general, but "will this fit the upload limit of every LMS it needs to reach, and load quickly for the learner?"

Why SCORM packages get too large

When a package balloons, it is almost always one of these. Roughly in order of impact.

  • Video

    By far the biggest one. Video files are much larger than anything else in a course and quickly push a package past an LMS limit.

  • Large or uncompressed images

    Images saved much bigger than the size they show at, or never compressed, add up fast across a course.

  • Audio

    Long narration, especially in stereo or at a high bitrate, adds more than most people expect.

  • Duplicate or unused files

    Images, video, and files left in the project but never shown to the learner still get packed into the ZIP.

  • Weak compression or full-quality export settings

    Low ZIP compression, or media exported at full quality instead of the quality you actually need, makes the final file bigger.

Size is not just a tidiness problem. A big package loads slowly and frustrates learners on slow connections or mobile data, can time out while uploading, and once it is over your LMS's limit it simply will not upload without help from an administrator.

How to reduce SCORM file size

The things that make the biggest difference, in order. Moving video out of the package is almost always the biggest win.

Video

Host video somewhere else and embed it instead of bundling the file. This is the biggest single saving, and it avoids most LMS limits entirely.

Video

If you do bundle video, use MP4 (H.264 and AAC). 720p is plenty for most teaching videos; you rarely need 4K.

Images

Resize images to the size they actually show at, then compress them. WebP is roughly 25 to 35 percent smaller than JPEG at the same quality.

Audio

Export narration at around 64 kbps, mono, 44.1 kHz. That is roughly half a megabyte per minute and sounds clear for speech.

Compression

Delete unused files before publishing, use maximum ZIP compression, and split very large courses into smaller ones.

Hosting

For media-heavy or often-updated courses, use a hosted (dynamic) SCORM setup so the uploaded package stays tiny and the content loads from a server.

What the SCORM authorities say

The groups behind the standard agree: the size limit belongs to the LMS, not to SCORM.

ADL (Advanced Distributed Learning), the creators of SCORM, set out how a package is structured but never set a maximum size anywhere in the standard. That limit comes from the LMS or server, not from SCORM.

Rustici Software, which makes the official SCORM tests, says the same thing, and for very large courses (roughly 1 GB and up) it suggests a sturdier import method to avoid timeouts. Its SCORM Dispatch product takes a further step: the file you upload is a tiny SCORM package almost any LMS can handle, while the real content stays on a server and updates without you resharing the package. Slate's own Dynamic SCORM works the same way (more on that below). That "ship a tiny package, keep the heavy media elsewhere" approach is the most reliable way to stay under any LMS limit.

Frequently asked questions

The questions people search for most around SCORM file sizes.

No. The SCORM standard defines how a course is packaged (a ZIP called a Package Interchange File, holding an imsmanifest.xml and the course's files) but it sets no maximum size. Any limit you hit comes from the LMS or server you upload to, not from SCORM itself. Rustici Software, the company behind the official SCORM tests, puts it plainly: their software does not necessarily have a file size limit.
It depends entirely on the platform. Documented limits range from a few hundred megabytes to several gigabytes: SmarterU caps SCORM packages at 350 MB, LearnWorlds at 400 MB, Docebo and Absorb at 1 GB, Cornerstone and Brightspace at 2 GB, and Canvas allows files up to 5 GB. Moodle has no fixed default at all; it depends on the server settings. See the comparison table above for the current figure per platform.
There is no official target, but a widely-repeated guideline is to keep a course well under about 250 MB so it stays quick to load and easy to upload. There is no minimum either: a text-based course can be under 1 MB. Size depends almost entirely on media, so two 30-minute courses can be ten times apart in size.
Almost always video, followed by large or uncompressed images, then audio, then duplicate or unused files left in the package. If a package is larger than your LMS's upload limit, it simply will not upload without help from an administrator.
Host video somewhere else and embed it instead of bundling the file; resize and compress images (WebP is roughly 25 to 35 percent smaller than JPEG); keep narration to about 64 kbps mono; delete unused files; and use your authoring tool's export and compression settings. The biggest win is almost always moving video out of the package.
Dynamic SCORM is a delivery model where the package you upload to the LMS is a tiny wrapper (often only a few kilobytes) that loads the actual course content from a server when the learner opens it, instead of bundling everything into the ZIP. It keeps the uploaded file small no matter how big the course is, and lets you update content without re-uploading. Rustici's SCORM Dispatch and Slate's Dynamic SCORM both work this way.

Built in Slate

How Slate keeps packages small

Slate is an AI-powered eLearning authoring tool. If you build the courses you are trying to keep under an LMS limit, three things in Slate are built to help with file size, using the same "ship a tiny package, keep the heavy media elsewhere" approach as the authorities above.

Dynamic SCORM (about 5 KB)

Export a tiny package that pulls its content from Slate's servers when a learner opens it, so the file you upload stays small no matter how big the course is, and you can update it without re-uploading. Available on the Pro plan (early access).

One-click image optimization

Convert images to WebP and compress them in one click, and see exactly how much smaller each one got. It works especially well on large AI-generated images.

A heads-up before it gets too big

When a normal export is heading past about 500 MB, Slate flags it and suggests moving video to an external host. Just a heads-up, not a hard limit.