SCORM Editor — Authoring Guide
← Back to the editor

Authoring eLearning with the SCORM Editor

A step-by-step guide to building SCORM courses — from a single screen to a full multi-module unit with images, quizzes and a graded assessment.

Everything runs in your browser. Nothing you load or build is uploaded anywhere — the course is assembled locally and downloaded as a standard SCORM .zip you can put on any learning management system (LMS).

1. What this tool does

The editor lets you create a SCORM course from scratch or open an existing SCORM package, edit it visually, and repackage it. A finished package is a self-contained website plus a manifest the LMS reads. You don't need to touch code — you fill in fields, add screens and questions, upload images, and click download.

A SCORM course produced here can:

2. Starting a course

On the opening screen you have two choices:

Tip

Starting from an existing, richly designed package is a great way to reuse layouts. Open it, change the text and images, then download under a new name.

3. The interface

Once a course is loaded you'll see four tabs across the top:

TabWhat it's for
Course settingsTitle, subtitle, glossary, theme/branding, pass mark, modules option, accessibility check, and package metadata.
BuildWhere you build the course: an outline of every screen (content, questions and activities, grouped into modules) on the left, and an editor for the selected screen on the right.
MediaOverview of every image and audio file in the package, where each is used, and which are unused.
Raw filesAdvanced: directly edit any file in the package (HTML/CSS/JS/XML).

The Build tab

The Build tab is the heart of authoring. The left outline lists the whole course in order, grouped into collapsible modules; click any screen to edit it in the right pane. Because only the selected screen is open at a time, editing, adding paragraphs or inserting components no longer scrolls you around — your place is kept.

The Download .zip button (top right) builds your finished package at any time. Across the tabs, these controls recur:

Your work is auto-saved

The editor saves your course to this browser as you work. If you close the tab or your browser crashes, the next time you open the editor it offers to Restore your previous session. It's a safety net — but it only keeps the most recent course in this browser, so use the drafts below for anything you want to keep.

Saving progress — drafts vs the final package

There are two ways to save, for two different purposes:

Both round-trip losslessly, so nothing is lost either way — the distinction is just which one signals "still working" versus "ready to publish".

4. How a course is built

A course is an ordered list of screens. Learners move through them one at a time with Back / Continue. Each screen has a type that controls how it looks and behaves:

TypePurposeLives in
welcomeOpening screen with the course title, an intro, and a map of the modules.Content tab
contentA reading screen: heading, text paragraphs, images, and optional rich components.Content tab
summaryA recap screen — typically a bullet list before the assessment.Content tab
quizA single multiple-choice question. Mark it graded to count towards the score.Questions tab
scenarioA "what would you do?" decision with tailored feedback per option (usually not graded).Questions tab
declarationA sign-off screen: the learner ticks a box and types their name to confirm they have read and understood. Required to continue, and recorded to the LMS.Build tab
finalThe results screen: shows the score, pass/fail, certificate and retake option.Content tab
Declaration screens & the LMS

Add a declaration screen (usually just before the results screen) when you need a recorded sign-off. The learner must tick the checkbox and enter their name before they can continue — so it gates completion. On confirm, the player writes the declaration to the LMS as a learner comment (a timestamped line naming who confirmed) and as a structured interaction, so it shows up in standard SCORM comment and interaction reports. The name field is pre-filled from the LMS where the learner's name is available. You can edit the statement, the name-field label, the button text and the confirmation message.

A typical flow reads top to bottom:

welcome → [module 1 screens] → [module 2 screens] → … → summary → [assessment questions] → final
Note

The order of screens in the editor is the order learners experience. Use to arrange them. Keep one welcome at the start and one final at the end; new screens are inserted just before the final screen.

5. Course settings

Open the Course settings tab and fill in:

  1. Title — the course name. This is shown in the player and written into the manifest and metadata, so it's what your LMS displays in its catalogue.
  2. Subtitle — a secondary line shown on the certificate.
  3. Glossary intro & Glossary — optional. Add terms (with definitions) and they appear behind a Glossary button available on every screen. Click + Add glossary term to add the first one.
  4. Pass mark (%) — the score a learner needs on the graded questions to pass. Changing it updates the package's mastery score automatically on download.
  5. Package metadataDescription and Keywords help the LMS catalogue your course; Identifier is a unique id for the package (e.g. COM.YOURORG.COURSENAME); Learning time is an estimate in ISO‑8601 format, e.g. PT30M for 30 minutes or PT1H30M for 90 minutes.

Theme & branding

The Theme & branding section lets you make the course your own without touching code:

Use Preview to see the branding live, or Reset to default theme to clear it.

Accessibility check

At the bottom of Course settings, click Run accessibility check for a quick scan of common problems: images missing alt text, videos with no title, links with no text or a placeholder URL, low-contrast branding colours, and graded questions missing feedback. Each result has a Go → button that jumps you to the screen to fix it. It's a helper, not a full WCAG audit — but it catches the most common misses.

6. Building content screens

Add a screen

  1. Go to the Build tab.
  2. In the outline, pick the type from the dropdown next to + Add (content, welcome, summary, the question types, or results).
  3. Click + Add — the new screen is inserted after the selected one (inheriting its module) and opens in the editor on the right.

Edit a content screen

Select a screen in the outline to edit it on the right:

Formatting text

Text fields that support formatting (body, lists, card text, glossary definitions) are what-you-see-is-what-you-get: type directly into them and the text shows the way learners will see it. To format, select some text and click B (bold), i (italic), 🔗 (link), or • List (bullet list) in the toolbar above the field.

Pasting from Word or a web page drops the messy original formatting and pastes plain text, so you can format it cleanly yourself.

Duplicate, delete, reorder

Use the icons in each screen's header: duplicates the whole screen (handy for making the next module's screens), deletes it, and move it through the course.

Inserting rich components

Beyond plain paragraphs, content screens can hold designed components. At the bottom of a content screen, next to Insert component:, choose one and click + Insert. It's added with one empty entry ready to fill in; use the component's own + Add button for more entries, to reorder them, and the in the component's header to remove the whole component.

ComponentWhat it looks likeFields per entry
Fact stripA row of bold figures with captions (great for statistics).Number, Label
Callout cardsHighlighted boxes for key points, warnings or requirements.Variant (colour), Label, Label class, Text (HTML allowed)
TimelineA horizontal sequence of time-stamped points.Time, Label, Detail
Step listA numbered list of instructions.One line of text per step
Bullet listA plain unordered list.One line of text per bullet
Sources / citationsA references list; entries with a URL become links.Label, URL
AccordionExpand/collapse sections — good for FAQs or optional detail.Heading, Body
TabsTabbed panels the learner switches between.Label, Body
FlashcardsCards the learner clicks to flip (question → answer).Front, Back
Click-to-revealA button that reveals hidden content when clicked.Label, Body
Diagram (inline SVG)A vector graphic you paste as SVG markup, with a caption.SVG, Caption
More textExtra paragraphs shown after the components.One paragraph per entry
Note

You can add each component once per screen. On the published page they always appear in a consistent order (text → fact strip → cards → timeline → steps → diagram → bullet list → closing text → sources), regardless of the order you insert them in the editor.

Variant & label class (cards)

For callout cards, Variant sets the colour band (e.g. teal, amber) and Label class sets the label tone (e.g. info, caution). Leave them as the defaults if unsure.

7. Adding images & video

Images live on content (and welcome) screens.

  1. On the screen's card, find the Images section.
  2. Click + Upload image and pick a file (PNG, JPG, GIF, WebP or SVG). A thumbnail appears immediately.
  3. Fill in Alt text — a short description of the image. This is important for accessibility and is read aloud by screen readers.
  4. Optionally add a Caption (shown under the image) and a Max width in px to stop large images dominating the screen.
  5. Add more images, reorder them with , or remove one with .

Uploaded images are stored inside the package under images/ and listed in the manifest automatically — you don't manage files by hand.

Background images

Any screen can have a full-screen background image. In the screen editor, scroll to Appearance → Background image and click + Upload background. The screen's text sits on a legible frosted panel, and a Dim overlay slider darkens the image behind it so text stays readable — turn it up for busy or light photos.

To brand the whole course at once, set a Default background image in Course settings → Theme & branding; every screen uses it unless it has its own. Backgrounds work in Preview and in the downloaded package. Choose calm, low-detail images and keep the overlay high enough for contrast (see the Media tab for file sizes).

Image layout & zoom

Each image has a Layout option: Default size (respects your max width) or Full width (spans the content column — good for banners and diagrams). On the published page, learners can click any image to enlarge it in a full-screen lightbox (Esc or the ✕ closes it).

Image hotspots (labeled graphics)

Turn an image into an interactive diagram. On a content screen, choose Insert component → Image hotspots, upload the base image, then + Add point for each marker:

  1. Set the marker's X and Y position as percentages from the image's top-left corner (e.g. X 30, Y 40).
  2. Give it a Label and a Description (shown when clicked).

In the course, numbered markers sit on the image; clicking one reveals its description below. It's great for anatomy, equipment, dashboards, maps and process diagrams.

Tip

Resize/compress big photos before uploading (aim for under ~300 KB and no wider than ~1600 px). It keeps the package small and pages fast. The Media tab shows each image's size.

Adding video (Vimeo / YouTube)

Content screens also have a Videos section for embedding video.

  1. Click + Add video.
  2. Paste the video's link into Video URL or ID — a Vimeo link (https://vimeo.com/123456789, or an unlisted link with its hash https://vimeo.com/123456789/abcd1234), a YouTube link, or just a Vimeo ID. A line underneath confirms what was recognised (e.g. ✓ Vimeo · video 123456789).
  3. Add a Title (used by screen readers) and an optional Caption.
  4. Use Preview to watch it play — the video sits in a responsive 16:9 frame that scales on mobile.
Important — video streams from Vimeo

The video is embedded, not stored in the package: it streams from Vimeo (or YouTube) when the learner plays it. That means: (1) learners need an internet connection; (2) the video's Vimeo privacy must allow embedding — for an unlisted/private video, set "Where can this be embedded?" to allow your LMS domain (or anywhere), and include the hash from the share link; (3) a strict LMS or network firewall could block player.vimeo.com. Test on your LMS before rolling out.

Adding audio narration

Content screens have an Audio narration (MP3) section to add a voiceover.

  1. Click + Upload audio and choose an .mp3 file. A small player appears so you can check it.
  2. Add a Label (e.g. “Narration — Module 1”) shown above the player.

The player only appears on screens that have audio. Unlike video, the audio file is stored inside the package (under audio/), so it works offline — but it adds to the download size (roughly ~1 MB per minute of MP3).

Note — learners press play

Browsers and LMSs block audio from auto-starting until the learner interacts with the page, so narration plays from the visible play button rather than starting by itself. Record your own narration or generate it with any text-to-speech tool, then upload the MP3.

8. Building a multi-module unit

Modules are a real structure in the Build tab — group your screens into them and the editor handles the learner-facing labels for you. Here's a 3-module unit:

  1. Create the modules. In the Build outline, click + Module three times. Rename each header (click the title) to e.g. "Why this matters", "The procedure", "Your responsibilities".
  2. Add screens to each module. Use a module header's button (or select a screen in that module and click + Add) to add content screens, then write each one in the right-hand editor.
  3. Reorder freely. Drag the handle to move a screen within or between modules, or to reorder whole modules. A screen's Module dropdown does the same by keyboard.
  4. Add a summary and the assessment. Add a summary screen and your graded questions via + Add (questions can sit in a module too, or after the last one — see section 9).
  5. That's it. The welcome screen's module map and each screen's "Module N of M" eyebrow are generated automatically from your modules (toggle this off in Course settings → Modules if you'd rather write eyebrows by hand).
Opening an existing course

When you open a package that already uses "Module N of M" eyebrows, the editor infers the modules automatically, so it opens already grouped in the outline.

9. Questions & assessment

In the Build tab, click + Add and choose a question type. The types are:

TypeWhat it is
Multiple choiceOne correct answer (radio buttons).
Multiple responseSeveral correct answers (checkboxes); marked right only if all correct options — and no wrong ones — are ticked.
True/FalseA statement the learner marks true or false (kept in that order).
Fill the blankThe learner types an answer, checked against your list of accepted answers (ignoring case and extra spaces).
ScenarioA situational decision with its own feedback per option — usually not graded.

Mark a question graded (the default for everything except scenarios) and it counts toward the final score.

Edit a question

  1. Fill in the Question text (for scenarios, the Setup and Prompt).
  2. Mark the correct answer(s): the radio button for single-answer questions, or tick every correct checkbox for multiple-response. For fill-in-the-blank, list the Accepted answers (one per line — any match counts; the first is shown as the model answer).
  3. Click + Add option for more choices; reorder with ; remove with .
  4. Write feedback: the "Correct" and "Not quite" messages (scenarios have a message per option).

Question bank (randomised draw)

With more than one graded question, a Question bank control appears at the top of the Build outline. Set it to draw, say, 5 of 10 graded questions and each learner gets a random 5 — great for re-sits. Leave it blank to ask them all. (The score is out of however many are drawn.)

Good to know

In the player, answer options are shuffled for each learner (except True/False), so don't write "all of the above" or rely on a fixed order. Use on a whole question to reorder it in the flow.

10. The Media tab

The Media tab lists every image and audio file in the package with a preview, path, file size, and the screens that use it. Files not referenced by any screen are tagged Unused. Click Remove to delete a file from the package (this also strips references to it from screens). It's the easy way to keep the download lean.

11. Raw files (advanced)

The Raw files tab lets you open and edit any text file in the package directly. Most authors never need it.

Important

Edits to js/course-content.js, imsmanifest.xml and metadata.xml made here are overwritten on download by the visual editors, because those files are regenerated from what you set in the tabs. Edit course content in the tabs, not in Raw files. Raw files is best for one-off tweaks to styling (css/styles.css) or behaviour (js/app.js).

12. Scoring & the certificate

13. Preview & test

Quick preview (in the editor)

At any time, click Preview in the top bar. Your course — with all unsaved edits, including images and components you've just added — opens in a new browser tab exactly as a learner would see it. Click through every screen, check images and layout, and try the questions. Close the tab to return to editing; nothing is downloaded.

Preview from a specific screen. While editing, each screen and question card has a button in its header. Click it to open the preview starting on that screen, so you don't have to click through the whole course to check the one you're working on.

Tip

If your browser blocks the automatic pop-up, a bar appears with an Open preview in new tab link — just click it. (You can also allow pop-ups for this site to skip that step.) The preview runs in "standalone" mode (no LMS), so progress-saving and score reporting are simulated only.

Full test (on a SCORM service)

To confirm the course reports correctly to a real system before publishing:

  1. Click Download .zip.
  2. Upload the .zip to a free SCORM test service such as SCORM Cloud, which simulates an LMS and shows the completion, score and pass/fail data your course reports.

14. Download & deploy to an LMS

  1. Click Download .zip. You get a complete SCORM package.
  2. In your LMS, create/upload a new SCORM course and select this .zip. The LMS reads the manifest and registers the course.
  3. Publish/enrol learners as your LMS requires.

What happens on download: your course content is regenerated, the manifest's titles, identifier and mastery score are synced, the file list (including images) is rebuilt, and the metadata is updated. The package targets SCORM 1.2, which virtually every LMS supports.

15. Best practices

16. Troubleshooting

SymptomLikely cause / fix
Adding the first glossary term / module adds a blank lineResolved — adding the first item now creates a proper entry. Reload the editor if you have an old tab open.
My image doesn't show in the unzipped previewOpen index.html via the folder you unzipped (don't move it out of the folder); images live in the sibling images/ directory.
Edits I made in Raw files disappearedCourse content, manifest and metadata are regenerated on download — edit those in the visual tabs instead (see section 11).
The LMS shows no score / always "incomplete"Make sure you have at least one graded quiz question and that the learner reaches the final screen, which reports completion.
Pass mark seems ignoredThe score counts only graded questions. Scenarios and ungraded quizzes don't affect it.
"Could not create a new course"The template/ folder must be deployed alongside the editor. If self-hosting, upload it too.

17. Quick reference

Screen types

TypeKey fields
welcometitle, intro, modules (num + title)
contenteyebrow, title, body (paragraphs), images, and inserted components (fact strip, cards, timeline, steps, bullet list, sources, diagram, extra text)
summaryeyebrow, title, lists (bullets), bodyAfter
quizquestion, options (one correct), feedback, graded, question label
scenariosetup, prompt, options with per-option feedback
declarationtitle, statement, nameLabel, buttonLabel, confirmation (recorded to the LMS on confirm)
finaltitle (results, certificate and retake are automatic)

Controls

ControlAction
Reorder screens, questions, options, list items, images
Duplicate a screen or question
Undo / redo (Ctrl/Cmd+Z, Ctrl/Cmd+Shift+Z)
Delete an item
+ Add …Add a screen, question, option, paragraph, image or glossary term
Insert componentAdd a fact strip, cards, timeline, step/bullet list, sources or diagram to a content screen
PreviewOpen the whole course in a new tab to check it visually (reflects unsaved edits)
Preview starting from this screen / question
Save draft / Open draftSave a work-in-progress file (.scorm-project.json) and reopen it to continue later
Download .zipBuild the finished SCORM package

Learning-time format (ISO 8601)

PT15M = 15 min · PT30M = 30 min · PT1H = 1 hour · PT1H30M = 90 min.


Ready to build? ← Back to the editor