Moodle Course Import: What Survives and What Shouldn't

Every course-import tool advertises the same thing: how much it can ingest. Formats supported, megabytes accepted, activities converted. It is the wrong number to lead with, because a migration is not judged on volume — it is judged on whether the course a student opens afterwards looks like the course they had before.
One backup we tested made that concrete. It imported twelve quizzes. Its students had only ever seen seven. The other five were superseded copies — the "… - V1" drafts a trainer keeps parked on the course page for reference — and importing them faithfully would have doubled the quiz list for every learner. Fidelity, not volume, is the metric that matters. Here is what a Moodle course import actually brings across, what it deliberately leaves behind, and how you can check before you commit.
What Does a Moodle Course Import Bring Across?
A Moodle course backup (.mbz, up to 200 MB) is rebuilt into native, editable EduGears AI activities: modules and lessons carry the course's structure, Moodle pages and books become reading material, files come across, and quiz questions land in a form you can edit. What it does not do is reproduce the backup literally — several categories of content are skipped on purpose, and each skip is named.
| Comes across | Deliberately skipped | Why |
|---|---|---|
| Moodle pages and books | — | Rendered as reading material on the Page tab of the Module Player. |
| Notes written between activities (labels) | Decoration-only labels | Text labels merge into one page per section; a divider or spacer has nothing to read. |
| Visible activities | Activities hidden from students | A hidden activity is a trainer's copy, not part of the course learners saw. |
| Quiz questions of supported types | Cloze, drag-and-drop, ordering, gap select, calculated, STACK | Not yet supported — each one is named in the preview rather than dropped silently. |
| Question images and links | H5P activities | The backup does not contain the .h5p package, so the reference can never play. |
Why Did My Import Have More Quizzes Than the Course?
Because a Moodle course page routinely carries activities students never see, and a naive reader imports them anyway. Moodle hides an activity by setting a visibility flag on it — that is how the "… - V1" copies, the retired drafts, and the trainer-only material stay on the page without reaching a learner.
The import reads that flag and skips those activities, naming each one ("Skipped hidden activity: …") so nothing disappears without a trace. In the course above, that alone took the import from twelve quizzes and 219 questions to the seven quizzes and 117 questions its students actually had.
A hidden activity is not a bug in your old course — it is a filing decision someone made deliberately. The import respects it rather than second-guessing it, and tells you which ones it honoured.
What Happens to the Notes Between Activities?
They are merged into one readable page per section. In Moodle those notes are labels — inline snippets printed on the course page between activities, not pages in their own right. Treating each one as a page is the classic import failure: a single lesson shatters into scraps, a heading here, a stray image there, an orphaned placeholder after it.
Instead, every text label in a section is merged, in order, into one page named after that section — which a student reads on the Page tab of the Module Player, alongside the section's other reading material. Labels that carry no text — dividers, spacers, decoration — are dropped silently, because there is nothing in them to read.
Why Is H5P Content Skipped?
Because the backup does not contain it. H5P activities are authored outside the course, and a Moodle backup carries a reference to the package rather than the package itself — across the corpus we checked, zero of eight referenced .h5p files were present in the backup. There is nothing to import, only a pointer to something that lives elsewhere.
The honest thing to do with an unresolvable reference is name it and move on, which is what happens: the H5P item is skipped and listed by name so you know what to rebuild. A label that mixes ordinary text with an H5P embed keeps its text — you lose the interactive widget, not the paragraph that introduced it.
Which Moodle Question Types Import?
Seven types import as fully editable questions; the rest are skipped with a named reason. The dividing line is whether the question can be marked without Moodle's own engine behind it.
| Imports | Not yet supported |
|---|---|
| Multiple choice | Cloze / multi-answer (embedded answers) |
| True/false | Drag-and-drop — into text, markers, and images |
| Short answer | Gap select |
| Numerical | Ordering |
| Matching | Calculated, calculated multichoice, calculated simple |
| Essay | STACK (CAS-based maths) |
| Auto-graded essay (essayautograde plugin) | — |
Two things worth knowing about the unsupported column. First, those questions are named in the import preview, not quietly dropped — you get a list, so you know exactly what to rebuild by hand or with the AI question generator. Second, the calculated and STACK families are skipped because they need Moodle's own evaluator to produce their per-student values; importing the shell without the evaluator would give you a question that looks right and marks wrong.
Questions stored in Moodle 4.x question banks resolve correctly, including the ones nested behind plugin payloads that older readers reported as an empty question type. Across four real Moodle 4.3 backups we tested, that single fix moved the imported question counts from 110 to 162, 79 to 117, 16 to 22, and 186 to 219 — with five previously empty quizzes importing for the first time, and multiple-choice, short-answer and matching counts unchanged.
Do Question Images and Links Survive the Import?
Yes — images render and links work. Both used to be quietly broken, and both are worth understanding because they are where imports fail invisibly: the course looks fine in a listing and falls apart when a student opens a question.
- Images in questions now resolve. In Moodle 4.x a bank question's files hang off the question category, not the quiz activity, so looking for them under the quiz found nothing and left a raw placeholder token where the diagram should be. Across the corpus we checked, unresolved question images went from 18 to zero — including accented filenames, which were being double-encoded into a 404.
- Links in pages and questions now work. Your LMS shows the tool inside a frame that isn't allowed to navigate itself away, so a plain link was dead on click. External links now open in a new tab, which both makes them work and leaves the student's place in the course untouched.
- No placeholder tokens reach a learner. An unresolvable file reference is skipped and named rather than printed on the page as raw text.
What About Moodle's Auto-Graded Essay Questions?
They keep being auto-graded. The widely used essayautograde plugin marks a written response by looking for target phrases in it — so a question that was machine-marked in Moodle should not arrive somewhere else as an ungraded essay awaiting a human. In one corpus that mattered a great deal: 95 of 292 question slots across four courses were of this type.
They now import as short answers, carrying the plugin's own target phrases as the expected answer, and are marked here through the same exact → normalised → AI-semantic marking ladder every short answer uses. A question with no usable target phrases stays an essay instead of becoming a short answer with a blank answer key — which would mark every response wrong — and the preview names it. Ordinary Moodle essay questions are always left as essays for you to mark, because their grader notes are instructions for a human, not a model answer.
Why Don't Imported Quizzes Appear to Students?
Because an imported quiz is authoring material, not a published assessment. Students never see it, and no graded quiz is created — which is deliberate. A question bank that has just crossed a format boundary deserves a human read before it is put in front of a class and posted to a gradebook.
So the flow puts you in the middle of it: open the imported quiz from its module, review the questions, then use Save to Bank… to keep them in a Question Bank, or Send to Quiz / Send to Practice when you want learners working through them. From that point the questions behave like any other — including the deadlines and gradebook mapping covered in quiz due dates in Moodle and Canvas.
Import a real course backup and read the skip list before you commit to anything — free, no credit card.
Get Started Free →How Do I Know What Was Skipped?
The import preview lists it, by name, before and after the import. You see the full course tree and can deselect anything you don't want, and everything the reader dropped — hidden activities, H5P references, unsupported question types, unresolvable files — is listed beside it. In the course from the opening of this article that came to thirteen named skips.
One related safeguard is worth knowing about, because it protects your gradebook rather than your content: a lesson with nothing a learner can open is never counted as a step. It stays in the list so the course's shape is clear, but it never ticks, never enters the progress count, and never holds up the lessons after it — so a module of empty shells can't quietly report completion to your LMS.
Getting Started Free
EduGears AI installs once at the LMS admin level over LTI 1.3 — about three minutes, no intrusive plugins. Course import is included on every plan, including the free tier, alongside all 26 AI tools. Upload a .mbz backup (or a SCORM package or Canvas Common Cartridge), read the preview, and deselect anything you don't want before it lands.
For the round trip — what comes in, what goes back out as SCORM, Common Cartridge, QTI or Moodle XML — see course portability. For everything the toolkit adds on top of an imported course, see the full feature list, the complete guide to AI for Moodle, or the setup guide for the install itself.
Frequently Asked Questions
What file does a Moodle course import take?
A Moodle course backup file (.mbz), up to 200 MB per package. EduGears AI also imports SCORM 1.2 and 2004 packages and Canvas Common Cartridge (.imscc) files, and can export courses back out as SCORM, Common Cartridge, QTI 2.1 or Moodle XML.
Why does my imported course have fewer activities than the Moodle course page?
Because activities the original course hid from students are skipped. Moodle marks an activity hidden with a visibility flag — that is how superseded copies and trainer-only material stay on the course page — and importing them would duplicate the course for every learner. Each skipped activity is named in the import preview.
Which Moodle question types can't be imported?
Cloze and multi-answer, drag-and-drop (into text, markers and images), gap select, ordering, the calculated family, and STACK are not yet supported. Multiple choice, true/false, short answer, numerical, matching, essay and the essayautograde plugin all import. Unsupported questions are named in the import preview rather than dropped silently.
Does H5P content come across in a Moodle backup?
No, and no import tool can bring it across: a Moodle backup carries a reference to the H5P package rather than the package itself. Across a real corpus, zero of eight referenced .h5p files were present in the backup. Each H5P reference is skipped and named so you know what to rebuild; a label mixing text with an H5P embed keeps its text.
Do question images survive the import?
Yes. In Moodle 4.x a bank question's images belong to the question category rather than the quiz, and are resolved from there — including filenames with accented characters. In the corpus we tested, unresolved question images went from 18 to zero, and no unresolved placeholder token is ever printed to a learner.
Do imported quizzes go live for students automatically?
No. An imported quiz arrives as authoring material only: students never see it and no graded quiz is created. You open it, review the questions, then use Save to Bank to keep them in a Question Bank, or Send to Quiz / Send to Practice when you want learners working through them.
Can I move a Moodle course into Canvas this way?
Yes — importing a Moodle backup to another LMS is a two-step round trip. Import the Moodle .mbz, then export the result as Common Cartridge or SCORM and load that into Canvas (or any compliant platform). EduGears AI acts as the bridge between platforms, and imported material also feeds the course knowledge base that grounds the AI Tutor and Assistant.
Is course import free?
Yes. Course import is included on every plan, including the free tier, alongside all 26 AI tools. Setup is via LTI 1.3 in about three minutes with no intrusive plugins.
Try EduGears AI Free
Setup in 3 minutes via LTI 1.3. No credit card required. All 26 AI tools included on the free tier.
Get Started Free →