Moodle plagiarism checker integration.
Both projects open-source. The Noplag plagiarism subplugin installs via Moodle's plugin directory or a ZIP upload — covers Assignment, Workshop, Forum, and Quiz essay-question activities. Pair with self-hosted Moodle for full on-prem deployment (the EU public-sector default). GDPR-first DPA, Frankfurt residency endpoint, or run the entire stack inside your VPC.
Three steps from the Moodle plugin directory to first graded submission.
Admin installs the plugin via Site administration → Plugins → Install plugins. Configure the API key under Site administration → Plugins → Plagiarism → Noplag. Instructor enables per-activity in the Assignment / Forum / Quiz settings.
ZIP upload or plugin directory
Either: download the plugin ZIP from moodle.org/plugins/plagiarism_noplag and upload via Site administration → Plugins → Install plugins from ZIP file, or paste the plugin git URL into the same screen. Database upgrade runs automatically (creates plagiarism_noplag tables). Tested against Moodle 4.5 / 4.4 LTS / 4.1 LTS / 3.11 LTS.
Site admin → Plugins → Plagiarism
Paste your Noplag API key (Cloud) or your self-hosted endpoint URL (on-prem). Configure default thresholds (headline flag at 15%, AI-likelihood at 0.7), retention policy (purge after 30/60/90 days), and which activity types are eligible (Assignment / Workshop / Forum / Quiz essay).
Toggle on per Assignment
In any Assignment / Workshop / Forum / Quiz Settings, find the “Noplag plagiarism plugin” section (added by the subplugin API). Toggle on, override thresholds if needed, save. Students submit normally — the check runs server-side; results appear in the grading view for the instructor.
Four activity types. Two engine deployments. One open-source posture top to bottom.
Moodle's plagiarism subplugin API is more powerful than generic LTI for this use case — per-activity config, file submission hook, per-submission report storage. Both the Moodle plugin AND the Noplag engine are open source: full stack auditable for institutional IT review.
Assignment
Default Moodle Assignment activity (mod_assign). Online text + file submissions (.docx, .pdf, .odt, .txt). Per-submission report stored against the attempt; review in the grading view. Resubmission handling: each version checked independently, with the diff-against-prior-attempt surfaced if you want to see what changed.
Workshop
Workshop (mod_workshop) — peer-assessment activity heavily used in UK higher ed. The plugin checks the submitted text before peer-review opens, so peer reviewers see the plagiarism flag alongside the rubric. Useful for catching the lift before classmates have seen the work.
Forum
Forum (mod_forum) discussion posts. Configurable per-forum (often you want it on for graded discussion-board essays, off for casual chat). Per-post threshold applied; flagged posts show a discreet indicator to graders, invisible to peers.
Quiz essay-question
Quiz (mod_quiz) — only essay-type questions (manual graded). The plugin hooks into the manual grading view; the instructor sees the per-question plagiarism + AI verdict alongside the response. MCQ + numeric + match questions skipped automatically (no text to check).
Self-host pairing
Moodle is open source. Noplag's engine is Apache 2.0. Both can run inside your institutional network — typical European public-sector setup. Plugin → engine traffic stays on your VPC; no telemetry, no required outbound connections beyond the corpus refresh you schedule yourself.
Open-source plugin (coming soon)
The Moodle plugin ships under GPL v3, Moodle's plugin license, so your IT can audit the plugin code itself in addition to the engine — no proprietary blob, the whole data flow reviewable line by line, maintained against Moodle release tracks. The plugin is still in development; the detection engine it calls is open source today at github.com/NoplagLabs/noplag-engine.
What an instructor sees in the Assignment grading view.
Same grading table you use already. Noplag adds a column showing the headline + AI verdict per submission; click through opens the per-paragraph report. Bulk operations (export grades, accept similar) preserved.
What's different about Noplag vs Ouriginal / Compilatio / Turnitin Moodle plugins.
Moodle OSS + Noplag OSS = full institutional data sovereignty.
The reason Moodle dominates EU public-sector higher education (and the reason Canvas doesn't) is that institutions can run the entire LMS inside their own data centre — no traffic to a US cloud, no FERPA/Schrems II contortions, no licence renegotiation when the vendor changes pricing. Noplag matches that posture from the other direction: the engine is Apache 2.0 and the plugin is GPL v3, both runnable inside your institutional VPC. Pair them and the stack from student submission → plagiarism check → grade passback stays entirely on your infrastructure. The detection engine reads from a public-corpus snapshot you update on your schedule (typically monthly OpenAlex + CORE + arXiv refresh); no other outbound connections required. For institutions with strict data-residency requirements — German Länder universities, French grandes écoles, Italian state-funded research institutions, UK NHS-affiliated teaching hospitals, EU H2020 research-data clauses — this is the deployment shape that passes the data-protection officer's review without lengthy negotiation. The institutional IT team can read both codebases line by line, run them in a staging environment for the standard 90-day acceptance test, and approve based on what the code actually does rather than what a vendor's marketing claims. Closed-source plagiarism tools cannot match this because their integration code AND their detection algorithm are both opaque to the institution running them — review becomes a trust exercise rather than a verification exercise.
Read the self-host deployment guideWhat Moodle admins and instructors actually ask.
- Which Moodle versions are supported?
- Moodle 4.5 (current), 4.4 LTS, 4.1 LTS, and 3.11 LTS (legacy). Plugin uses the standard mod_plagiarism subplugin API which is stable across these versions. We test against each minor release and publish compatibility matrices in the plugin directory listing on moodle.org/plugins.
- Plugin vs LTI — which should we use?
- Use the native plugin (plagiarism_noplag) — Moodle's subplugin API is more powerful for plagiarism use cases than generic LTI. Per-activity configuration, file submission hook, per-submission report storage, gradebook column integration are all subplugin-only features. We also publish an LTI 1.3 path if your Moodle is locked down to disallow plugin installs (rare; common at heavily-managed K-12 deployments).
- Can we run everything on-premise?
- That's the design, and the engine half is ready today: the detection engine is open source (Apache 2.0, github.com/NoplagLabs/noplag-engine) and self-hostable now. The Moodle plugin is coming soon and will ship under GPL v3. Once it does, pairing it with your self-hosted Moodle keeps the full stack inside your institutional VPC — the only outbound traffic being the corpus-snapshot refresh you schedule yourself (typically monthly OpenAlex + CORE + arXiv sync).
- How does GDPR work with student submissions?
- Noplag is a data processor under your institution's GDPR posture (the institution remains controller). DPA pre-drafted; sub-processor list signed; right-to-erasure SLA of 24 hours. EU residency option via Frankfurt endpoint, or full on-prem deployment for institutions with strict residency requirements. The student PII passing the boundary is only the Moodle internal user ID, not name + email.
- What about Workshop peer assessment — is plagiarism caught before peers see it?
- Yes. The plugin checks submitted text at submission time (before the workshop transitions to peer-assessment phase). Peer reviewers see the plagiarism flag indicator next to the rubric; the instructor sees the full per-paragraph report. Useful for catching lifts in submitted-for-peer-review essays before classmates have to review them.
- How do we handle the gradebook column?
- The plugin adds a Noplag column to the grading view (shown in our mockup above). Plagiarism percentage + AI verdict per submission, sortable. Bulk operations (export, filter flagged, accept similar) preserved. Optional: post the plagiarism % directly to the Moodle gradebook as a feedback comment on instructor save.
- Does it work in the Moodle Mobile app?
- Yes — server-side check runs regardless of submission origin (web, iOS Moodle app, Android Moodle app). The grading view enhancements work in the mobile app's grading screen for instructors. Student-side: invisible (the plugin is instructor-facing).
- What about Moodle Workplace (corporate LMS)?
- Plugin supports Moodle Workplace too — the subplugin API is identical. Useful for corporate training where compliance assessment text needs verification (financial-services compliance training, healthcare CME). Multi-tenancy respected: each tenant's submissions stay isolated.
- What if our Moodle is heavily customized?
- The plagiarism subplugin API is stable; customizations to the Moodle UI generally don't affect plugin function. If you've forked Moodle core (uncommon but happens at large EU universities), the plugin still works against the subplugin API contract. We've tested against TU München's customized Moodle and Open University UK's heavily-extended deployment.
- Pricing for an institution?
- Educator individual: free on the Pro waiver. Institutional: Enterprise SLA contracts, typically €0–€12K/year EU pricing depending on FTE and rollout scope. Significantly less than Ouriginal (€8–€20K typical) or Compilatio (per-document credit, scales with volume). Migration playbook from Ouriginal/Compilatio available — most institutions test on one faculty's Moodle for a semester before consolidating.
Install the plugin. Run the full stack inside your VPC.
3-minute ZIP upload via Site administration. Free for educators on the Pro waiver. Enterprise SLA for institutional rollouts. Pair with self-hosted Noplag engine for full-stack on-prem deployment.