All converters
European

Chameleon Creator Converter — Extract Blocks to PDF/Word/Markdown

Chameleon Creator ships SCORM with a `blocks.js` file declaring `window.savedStore.blocks = { ... }` — a giant JavaScript object literal (not pure JSON: trailing commas) mapping block UUIDs to their type, props, and content. Text blocks carry HTML in `props.content`. SCORM Converter's `ChameleonParser` uses brace-matching + Node.js `vm.runInNewContext` sandbox to safely parse the literal, then walks all blocks ordered by `key` and converts HTML via Turndown.

Why export Chameleon Chameleon Creator content?

  • Extract Chameleon Creator course content for translation
  • Archive Chameleon catalog when migrating to a different authoring tool
  • Convert Chameleon interactive content into linear PDF/Word
  • Generate AI training data from Chameleon course library

ChameleonParser — what we extract

Brace-matching extraction of `window.savedStore.blocks` literal
`vm.runInNewContext` sandbox with 10s timeout (safe parsing)
All-blocks walker sorted by `key` for stable display order
HTML `props.content` → Markdown via Turndown
Image, Audio, Video block recognition

Technical details

File signature
blocks.js containing `window.savedStore.blocks`
SCORM versions supported
SCORM 1.2
SCORM 2004
Typical package size

5-80 MB

Implementation note

The parser uses VM sandboxing rather than `eval()` for safety: the blocks.js content is executed in isolated context with no network or filesystem access.

Export formats

Frequently asked questions about Chameleon Chameleon Creator

What's special about Chameleon Creator SCORM?
Chameleon ships SCORM with all course content in `blocks.js` as a giant `window.savedStore.blocks = {...}` JavaScript object literal (not strict JSON — has trailing commas). Our parser uses brace-matching plus a Node.js `vm.runInNewContext` sandbox with 10-second timeout to safely parse this format.
Is the vm sandbox safe?
Yes. The Node.js `vm` module runs the code in an isolated V8 context with no filesystem, network, or process access. We also enforce a 10-second timeout to prevent infinite loops. The blocks.js literal is pure data (just an object expression), so there's no executable malware risk.
How does the converter decide the order of Chameleon blocks?
Each block has a numeric `key` field assigned by the Chameleon editor based on insertion order. Our parser sorts all blocks by `key` before walking. This produces stable, predictable output ordering that matches what the original course author intended.
Will all Chameleon block types be converted?
Text blocks (with HTML content) and image/audio/video reference blocks are extracted. Complex interactive blocks (accordion, tabs, hotspots) extract their text content. Pure layout blocks (containers, dividers) contribute no text output.
Can I edit the Chameleon content after conversion?
Yes — that's the main use case. Export Chameleon SCORM to Word (DOCX), edit the text in Microsoft Word or Google Docs, and re-import into a different authoring tool. The Word file preserves Chameleon's heading hierarchy.

Related guides

Other authoring tools

Ready to convert your Chameleon Chameleon Creator content?

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