Code plagiarism checking for Canvas LMS.
Canvas collects the code. Codequiry checks it. Link Codequiry to a Canvas assignment over LTI, or upload an entire course of student code in one pass, then see peer copying, code lifted from GitHub and the web, and AI-written submissions in a single report across 65+ programming languages.
No credit card to try. Works with Canvas Cloud and self-hosted Canvas installs.
Used by CS departments at top universities to keep the classroom honest, from intro Python through senior capstones. More than 500 institutions run their programming assignments through Codequiry.
Canvas stores code assignments. It does not check them.
Canvas is a great place to collect submissions. What it hands you for academic integrity was designed for essays, and source code breaks every assumption a text similarity engine makes.
Text similarity misses renamed code
Change total to sum, reorder two functions, strip the comments,
and a word-matching engine sees a different document. The program is still identical.
Codequiry compares structure, so the rewrite still matches.
GitHub and Stack Overflow are invisible
Most copied code in a CS course never came from a classmate. It came from a public repo, a tutorial, a homework help site or an accepted answer. Codequiry checks those sources directly and links the match back to the page it came from.
AI-written code has no source to match
Code generated by ChatGPT, Claude, Copilot or Gemini is original by definition, so a similarity score of zero proves nothing. Codequiry scores every file for AI-written code alongside the plagiarism checks.
Link it to Canvas, or upload the whole course at once.
Both paths end in the same report. Pick the one that matches how much LMS access you have this term, and switch later without losing anything.
Connect Canvas over LTI
Students submit inside Canvas. Files land in your Codequiry check already attributed.
- Best for recurring courses and department rollouts
- LTI 1.1 can be added by an instructor, no IT ticket
Upload every student's code at once
Already collected the work in Canvas? Import the lot and check it in one pass.
- Zero LMS configuration, works on any Canvas account
- Desktop app uploads whole folders, API and CLI automate it
Three checks run on the same Canvas upload.
One import, three independent detection passes. A submission that survives peer comparison can still light up on web sources or on AI generation, which is exactly where most cases now sit.
Peer-to-peer similarity
Every submission is compared against every other submission in the check, and against earlier terms of the same course when you keep prior checks in the folder.
- Survives renaming and reordering
- Catches shared starter code and reused solutions
- Side-by-side diff for each matched pair
Web and GitHub checking
Each submission is checked against public repositories, Stack Overflow, tutorial sites, homework help sites and more than a trillion indexed sources.
- Every match links to the page it came from
- Finds the repo that a whole class copied
- Works even when nobody copied a classmate
AI-written code detection
Per-file scoring for code generated by ChatGPT, Claude, GitHub Copilot and Gemini, with the underlying signals shown so you review evidence instead of a bare number.
- Runs automatically on the same check
- Flags the files, not just the student
- Pairs with peer and web signals for context
Side-by-side evidence
Matched fragments highlighted line by line in both files, ready to show in a hearing.
Exportable reports
Download the report for an academic integrity case or attach it to the Canvas gradebook comment.
Mixed-language projects
HTML, CSS, JavaScript and SQL in one submission are analysed together as a single project.
API, CLI and desktop
Automate the whole import for a department that runs the same check every term.
How to add Codequiry to a Canvas course.
About ten minutes end to end. LTI 1.3 is added once by a Canvas admin as a developer key and then enabled per course. LTI 1.1 can be added by an instructor at the course level.
LTI 1.3, also called LTI Advantage
LTI 1.1, the no IT ticket route
Canvas configuration endpoints
Canvas also passes the assignment due date, unlock date, lock date and the user timezone as custom parameters on launch, so a date you change in Canvas carries over to the linked check.
Canvas plus Turnitin, Canvas plus MOSS, Canvas plus Codequiry.
The three setups CS instructors actually choose between when a programming assignment needs an integrity check.
| Capability in a Canvas course | Canvas built-in text similarity | MOSS run by hand | Codequiry |
|---|---|---|---|
| Understands source code structure | No, built for prose | Yes | Yes |
| Survives renaming and reordering | No | Yes | Yes |
| Checks GitHub and the open web | Text pages only | No, submitted files only | Yes, 1T+ sources with links |
| Detects AI-written code | No | No | Yes, per file |
| Launches from a Canvas assignment | Yes | No, offline script | Yes, LTI 1.3 and 1.1 |
| Bulk import of a whole course | Per submission | Command line only | Yes, up to 500 at a time |
| Language coverage | Text formats | About 25 languages | 65+ languages |
| Report you can take to a hearing | Percentage only | Match listing | Side-by-side diffs, exportable |
| Setup effort | Already on | Script, email results, manual review | 10 minutes, or zero with bulk upload |
Comparing options more broadly? See Codequiry vs Dolos vs MOSS vs JPlag and the MOSS comparison.
Every language your Canvas course actually assigns.
Intro Python, data structures in Java, systems work in C, a full stack capstone, a database course, a hardware description lab. All of it runs through the same check.
Used by top universities to make sure no cheating goes on in the classroom.
CS departments run it on every programming assignment, from intro Python through senior capstones. An instructor can be checking their own Canvas course this afternoon, a department can standardise it across every section, and both start from the same account.
Universities and colleges
CS departments running Canvas at scale, with LTI 1.3 added once by an admin and enabled per course, plus API automation for large sections.
Community colleges
Large intro programming cohorts with heavy web copying. Bulk upload handles a whole section without waiting on an LMS admin.
High schools and K-12
AP Computer Science A and intro coding classes on Canvas, where AI-written submissions are now the most common integrity issue.
Coding bootcamps
Cohort projects checked against each other, against previous cohorts, and against the public repos students find on GitHub.
Individual instructors and TAs
No procurement cycle required. Create a folder, drop in the submissions you already downloaded from Canvas, and run the check.
Online programs and MOOCs
Remote cohorts where nobody can watch the work happen, and the report has to stand on its own as evidence.
The same integration works with every major LMS.
Codequiry speaks the open IMS Global LTI standard, so the endpoints above are the same ones you paste into any compliant platform. Teaching in more than one? Use one Codequiry account for all of them.
Canvas code plagiarism, answered.
Canvas itself does not detect code plagiarism. Canvas collects and stores submissions, and its built-in similarity partners compare prose against text documents and web pages.
Source code needs structural comparison. Renamed variables, reordered functions, changed formatting and extracted helper methods all defeat text similarity while leaving the program logically identical. Codequiry plugs into Canvas over LTI and compares the structure of the code rather than the wording, so those rewrites still surface as matches.
Turnitin was built for essays and text documents. It can flag verbatim code that happens to appear in its text index, but it does not tokenize or parse source code, so it misses the common cases in a CS course: identifier renaming, statement reordering, loop conversion, comment stripping and code pulled from GitHub repositories or Stack Overflow answers.
A dedicated code plagiarism checker compares abstract structure across 65+ programming languages and links every match back to its source. See the code plagiarism checker overview for how that works.
There are two ways. Link Codequiry to your Canvas assignment as an LTI app so students submit through Canvas and their files land in your check automatically. Or use Canvas Download Submissions to export the whole course, then upload that set to Codequiry in one pass and run the check.
Both paths produce the same report: peer-to-peer matches, web and GitHub matches, and AI-written code scores.
Yes. Codequiry supports LTI 1.3 with OIDC login, signed JWT launches and a published JWKS endpoint, and it still supports legacy LTI 1.1 with OAuth 1.0a consumer key and shared secret for older installs and other platforms.
LTI 1.3 is added by a Canvas admin as a developer key. LTI 1.1 can be added by an instructor at the course level, which is why most people start there.
Yes, and most instructors start this way. Download the submissions from your Canvas assignment, then upload one ZIP per student to a Codequiry check. The bulk uploader takes up to 500 ZIP files in a batch, the desktop app uploads whole folders from your computer, and the API and CLI automate the same import for departments running it every term.
No student accounts and no LMS configuration are required for this path.
Yes. Every submission is scored for AI-written code alongside the plagiarism checks, covering output typical of ChatGPT, Claude, GitHub Copilot and Gemini. The report shows per-file scores and the signals behind them, so you review the evidence rather than acting on a single number. More detail on the AI code detection page.
Both. Peer-to-peer comparison finds students who copied from each other, including across past terms of the same course when you keep prior checks. Web checking compares each submission against GitHub repositories, Stack Overflow, tutorial sites, homework help sites and over a trillion indexed sources, and every web match links back to the page it came from.
65+ languages including Python, Java, C, C++, C#, JavaScript, TypeScript, PHP, Ruby, Go, Rust, Swift, Kotlin, Scala, R, MATLAB, SQL, HTML, CSS, Assembly, Haskell, Perl, Dart, Objective-C and VHDL.
Mixed-language projects are handled in a single check, so a web development assignment with HTML, CSS, JavaScript and SQL is analysed as one submission.
No. On an LTI launch Canvas identifies the student, so they land on the submission page already attributed and simply upload their code. With the bulk upload path students never touch Codequiry at all, because you import the files you already collected in Canvas.
Yes. Canvas passes the assignment due date, unlock date, lock date and the user timezone as custom parameters on launch, and Codequiry applies them to the linked check, so a date changed in Canvas does not leave the submission window out of step.
Codequiry is built for educator use, keeps submissions private to the folder they were uploaded to, and supports deleting submissions and accounts on request. Institutions can request a data processing review before rollout, and departments running campus wide deployments can arrange terms as part of licensing. See the privacy policy and the educator first use policy.
Yes. The same LTI 1.3 and LTI 1.1 endpoints work with Blackboard Learn, Moodle, D2L Brightspace, Schoology, Sakai, Open edX and any other LTI compliant platform. Google Classroom, which is not LTI based, is handled with the shareable student portal link or the bulk upload path. Full detail on the LMS integration page.
Codequiry starts with a free trial so you can run a real assignment before committing, then continues on a per-check subscription for individual instructors. Departments, colleges and districts license per course or per seat, and volume pricing is available for campus wide rollouts. See pricing.
No. Codequiry is an independent code plagiarism and AI code detection service that integrates with Canvas through the open IMS Global LTI standard. Canvas and Instructure are trademarks of Instructure, Inc.
Run your next Canvas assignment through it.
Join the CS departments at 500+ institutions already checking every programming assignment. Link it over LTI, or upload the submissions you already downloaded. Either way you get peer, web and AI detection on the same check, in minutes.
Keep reading
Canvas, Instructure, Turnitin, Blackboard, Moodle, Brightspace and Schoology are trademarks of their respective owners. Codequiry is an independent service and is not affiliated with, endorsed by, or sponsored by any of them.