Common Cartridge Converter v0.9.0 Beta

Convert a Common Cartridge (.imscc) export to Markdown pages for Grav Open Course Hub or Grav Helios Course Hub

Give your course a modern, organized home for your students – with direct access to the content behind it: portable, future-friendly Markdown files that others can reuse and remix, no database, platform independence, yours to keep. The output works with Grav Open Course Hub and Grav Open MultiCourse Hub, free and open source, and Grav Helios Course Hub, built on the Grav Premium Helios theme, as they use the same course page types. For Open Course Hub, your course's modules are added alongside the site's own weekly pages. Not using Grav? Turn on Standard Markdown below for plain Markdown that works on most other Markdown-based platforms.

For your students, that means modules and pages they can navigate at a glance, Previous and Next buttons through every page, and search that stays scoped to the current course – a more organized experience than a collection of typical LMS pages, designed to be enjoyable.

If needed, any single page can be embedded into Canvas, Moodle, or Brightspace with a URL parameter, keeping students inside the LMS instead of a separate website. For example: this single lesson page , displayed with no header or sidebar. Or run your course hub standalone, paired with an LMS or other platform for assignments and grading.

Convert one of your own courses and browse the resulting Markdown files and images directly – no Grav installation needed to see what carries over. Or start with a real example, the same Digital Animation course converted for each: Grav Open Course Hub or Grav Helios Course Hub

Not using Grav? Choose Standard Markdown output to get portable Markdown files, with GitHub-style alert blocks in place of Grav-specific shortcodes, that work in most other Markdown platforms; alert blocks appear as plain blockquotes where GitHub-style alerts aren't supported.

New to these? The Open Course Hub Read Me and Helios Course Hub ReadMe cover installation, configuration, and getting started.

Convert your course cartridge to Markdown

Upload your Common Cartridge export below.

Drop your .imscc or .zip file here

or click to browse – max 500 MB

Removes manual ordering prefixes (e.g. "1 Introduction" → "Introduction", "Module 2 - Basics" → "Basics") – redundant as Grav's own numbered folders provide the ordering. Omit non-image binary files from web_resources/ – keeps the ZIP small. You can manually copy these files after import. By default, images embedded in page content are downloaded and included in the ZIP. Enable this to keep original URLs instead – images still display, but from their remote source.
Destination Sets the course's folder, course file, and header image, and the page addresses used by links between pages.

Output Format NEW

Skip Grav-specific shortcodes in favor of standard Markdown and GitHub-style alert blocks – works in plain Grav and most other Markdown platforms. GitHub-style alerts appear as plain blockquotes where they aren't supported. The course keeps its own folder, whatever the Destination.

Default pages (not used for Grav Open Course Hub, which gets modules only)

Adds an Essentials page with course title, code, license, and a placeholder for instructor info. Adds a Resources placeholder page for links and reference materials. Adds a Syllabus placeholder page when the cartridge contains no syllabus content. If a syllabus is present in the source, it is always included.
Preview Sample pages, not final site styling
What exactly does this do?

It's a self-contained PHP web app running on the server. You upload a Common Cartridge .imscc export, it parses the module structure and converts wiki page content to Markdown, then hands you back a ZIP ready to drop into Grav.

Toggle Standard Markdown above and shortcodes/frontmatter switch to plain-Markdown equivalents – GFM alert blocks instead of callout shortcodes, a real <iframe> embed instead of [youtube], no Grav-specific frontmatter – so the output works outside Grav too.

What's converted?

  1. Course modules → chapter landing pages with numbered child pages
  2. Wiki pages → course-page.md Markdown files with YAML frontmatter
  3. Module section headers (ContextModuleSubHeader) → group: frontmatter for visual grouping of pages in the course hub
  4. Vimeo and YouTube iframes → [iframe] and [youtube] shortcodes
  5. A module.md card-grid listing page for all modules

What's not included?
Quizzes, discussions, and assignments have no equivalent in a course hub site and are not included. A full count appears in conversion-notes.txt in the ZIP.

Can I embed a single page elsewhere?
Yes – add ?embedded=true (or ?chromeless=true) to any page's URL for a content-only view, with no site header, sidebar, or navigation – ready to drop into an iframe inside an LMS like Canvas, Moodle, or Brightspace.

What happens to your file?
The .imscc is extracted to a server temp directory, parsed, converted, and packaged. The temp files are immediately deleted after the ZIP is streamed to your browser – nothing is stored on the server.

Uploaded files are processed in a temporary directory and deleted immediately after conversion. Nothing is permanently stored on the server.
Built by Paul Hibbitts and Claude Code · Works with Grav Open Course Hub or Grav Open MultiCourse Hub (free), or Grav Helios Course Hub (with the Grav Premium Helios Theme) · Converter GitHub · Helios Course Hub Skeleton GitHub · Download Helios Course Hub