All converters
Articulate

Articulate Storyline Converter — Extract Slides, Layers & Quizzes

Articulate Storyline 360 and Storyline 3 export to SCORM as `story.html` + a `html5/` runtime folder. The actual slide content is serialized as JavaScript strings inside `window.globalProvideData()` calls, which makes static extraction impossible without a dedicated decoder. SCORM Converter ships a `StorylineParser` that walks the entire slide tree, recursively collecting text from nested layers, resolving audio references to `story_content/*.mp3`, and matching image refs to `mobile/*.png`.

Why export Articulate Storyline 360 / 3 content?

  • Translate Storyline courses across markets without rebuilding in the desktop app
  • Document compliance training narrations as searchable text
  • Convert Storyline quizzes into structured Q&A datasets
  • Generate AI flashcards from Storyline content using our AI Studio
  • Archive Storyline 3 / 360 catalog before LMS migration

StorylineParser — what we extract

Complete slide order from `window.globalProvideData('data', ...)`
Recursive walker through nested layers + timeline events
Audio + image asset binding (audiolib, audioId, globalAudioId)
Quiz feedback extracted as `ExtractedQuiz` objects
Multi-language Storyline 360 support
Tolerates subdir-wrapped ZIPs

Technical details

File signature
story.html + html5/data/js/data.js
SCORM versions supported
SCORM 1.2
SCORM 2004
Typical package size

10-300 MB typical

Implementation note

The parser anchors on the `(?:^|/)html5/data/js/data.js$` regex so courses uploaded with a wrapping subdirectory are handled correctly. JS-string escapes (`\n`, `\u04xx`, `\x..`) are fully decoded before JSON parsing.

Export formats

Frequently asked questions about Articulate Storyline 360 / 3

Will the converter extract Storyline narrations and voiceover text?
Yes. Storyline stores slide narrations as text nodes inside `window.globalProvideData('slide', ...)` payloads. Our parser walks every slide JS file, recursively collects text from nested layers and timeline events, and produces a clean Markdown transcript per slide.
Are images and audio files extracted?
Yes. The parser resolves audio references (`audiolib`, `audioId`, `globalAudioId`) to the actual MP3 files in `story_content/`, and image refs to PNGs in `mobile/` or `story_content/`. PDF/Word exports embed images directly; Markdown export uses relative path references.
Does it work with Storyline 3 or only Storyline 360?
Both. Storyline 3 and Storyline 360 use the same SCORM HTML5 export structure (`story.html` + `html5/data/js/data.js`). Our parser handles both transparently. Older Storyline 2 exports (Flash-based) are not supported.
What happens to drag-and-drop or hotspot interactions?
Text content from interactive elements is extracted (drag items text, hotspot labels, feedback layers). The interactivity itself becomes linear documentation. For complex interactions, the exported document includes a note describing what the interaction was.
Can I get the slide notes / speaker notes from Storyline?
Yes. Storyline stores slide notes as text payloads accessible via the same `globalProvideData` mechanism. They're extracted and emitted as a separate "Notes" subsection per slide in the Word and PDF exports.

Related guides

Other authoring tools

Ready to convert your Articulate Storyline 360 / 3 content?

Free during beta. PDF, Word, and Markdown exports with no limits.