New: MCP integration. Run plagiarism scans from Claude, Cursor or any AI assistant. Run scans from Claude or Cursor. Set it up
LTI 1.3 and LTI 1.1
Dynamic registration, nothing to copy
No student accounts

Code plagiarism checks inside your LMS.

Connect Codequiry to Canvas, Blackboard, Moodle, Brightspace or Schoology once. Students submit code from the assignment they already have, every submission arrives with their name on it, and each one is checked against classmates, GitHub and the web, and for AI-written code.

Free trial, cancel anytime. The integration is included on every plan.

10 min
From registration link to first launch
0
Student accounts to create
3
Checks on every submission
65+
Programming languages
Platforms

Every major LMS, over the open LTI standard.

Codequiry is an LTI tool, so it plugs into any platform that supports LTI 1.3 or LTI 1.1 with the same endpoints. Teaching in more than one? One Codequiry account covers all of them.

Canvas

LTI 1.3 and 1.1

Cloud and self-hosted. An admin registers Codequiry with one link, or an instructor adds it at the course level over LTI 1.1, including on free Canvas accounts.

Canvas setup guide

Blackboard Learn and Ultra

LTI 1.3 and 1.1

Register Codequiry at developer.blackboard.com, approve it in the Administrator Panel, and add it to a course as an LTI link or through deep linking.

Application ID and deployment ID, entered once

Moodle

LTI 1.3 and 1.1

Moodle 4 registers Codequiry by itself from the registration link. Older installs use manual LTI 1.3 or the 1.1 key and secret.

Site administration, External tool, Manage tools

D2L Brightspace

LTI 1.3

Register the tool dynamically under Manage Extensibility, create a deployment, and add the launch link or the deep linking placement.

Standard registration also supported

Schoology

LTI 1.3 and 1.1

Add Codequiry as an LTI app from the App Center with the endpoints below, then attach it to an assignment.

Client ID from the app you create

Sakai, Open edX, others

LTI 1.1 or 1.3

Any LTI-compliant platform works with the same launch URL, key and secret, or the LTI 1.3 endpoints.

Generic LTI tool registration

Google Classroom

Portal link

Classroom is not LTI based. Post the shareable submission link as a material or assignment attachment; students submit with their name and email.

Or bulk upload what you collected

No LMS at all

Portal link

Email the submission link, put it in the syllabus, or drop the files you already have into a check. The report is the same either way.

Up to 500 submissions per upload

Automate it

API and CLI

Departments that run the same import every term script it with the API, the CLI or the desktop app.

Developer API
How it works

Connect once. Then it is just another assignment.

About ten minutes the first time. After that, adding Codequiry to an assignment takes the same clicks as any other external tool in your LMS.

1

Connect your LMS

LTI 1.3: open the folder's LMS Integration page in Codequiry, copy the registration link, and have your LMS admin paste it into the LMS. Codequiry registers itself: client ID, keys and endpoints are exchanged automatically.

LTI 1.1: generate a key and secret on the same page and add Codequiry as an app at the course level. No admin needed.

2

Attach it to an assignment

Set the assignment's submission type to External Tool and choose Codequiry. Your LMS asks which Codequiry check to feed. Pick an existing one, or let Codequiry create a check named after the assignment.

Due, unlock and lock dates come across with the launch, in the student's own timezone.

3

Students submit, you run the check

Students open the assignment and upload their code. The LMS passes their name, email and ID, so nothing is typed and nobody signs up.

When the submissions are in, run the check. Peer, web and GitHub, and AI-written code detection run on the same upload.

One link, no copying IDs back and forth.

LTI 1.3 dynamic registration is supported by Canvas, Moodle 4 and Brightspace. Your admin pastes the link, the two systems exchange everything, and the page in Codequiry turns green by itself. Blackboard and older installs use the manual endpoints below, with Canvas and Blackboard presets that fill in the issuer and key URLs for you.

Registration link, unique to your folder https://codequiry.com/lti/1.3/register/<your-token>
What comes across

The LMS does the bookkeeping.

Every launch carries what Codequiry needs to file the submission in the right place and keep the deadline honest.

Student identity
Name, email and student ID from the LMS. Fields are pre-filled and locked on the submission page, so submissions are attributed exactly as the roster has them.
LMS course
Each LMS course maps to its own Codequiry folder, named after the course and branded with your institution. One registration serves a whole department.
LMS assignment
Each assignment maps to one check, created on the first launch with the assignment's title, or chosen by the instructor when the tool is added.
Deadlines
Due date, unlock date and lock date, plus the student's timezone. Change the date in the LMS and the next launch updates the check.
Return path
After submitting, students get a confirmation and a link straight back to the LMS course.
For your LMS admin

Every endpoint, in one place.

The registration link, the LTI 1.1 key and secret, and this same list are on the folder's LMS Integration page inside Codequiry, each with a copy button and a per-platform guide.

LTI 1.3 (LTI Advantage)

Dynamic registration Canvas, Moodle 4, Brightspace
https://codequiry.com/lti/1.3/register/<token from your folder>
Tool configuration JSON Canvas Developer Key, Enter URL
https://codequiry.com/lti/1.3/config.json
OIDC initiation login URL
https://codequiry.com/lti/1.3/login
Target link URI also a redirect URI
https://codequiry.com/lti/1.3/launch
Deep linking URL also a redirect URI
https://codequiry.com/lti/1.3/deep-link
Redirect URI
https://codequiry.com/lti/1.3/callback
Public JWKS URL
https://codequiry.com/lti/1.3/jwks

LTI 1.1

Launch URL
https://codequiry.com/lti/launch
Configuration XML Canvas "By URL" or "Paste XML"
https://codequiry.com/lti/config.xml
Consumer key and shared secret
Generated per folder on the LMS Integration page. Regenerate the secret at any time.
Privacy level
Public, so the LMS passes the student's name and email and submissions arrive attributed.

Under the hood: LTI 1.3 launches are OpenID Connect with RS256-signed tokens, per-launch state and nonce, and keys published on both sides. LTI 1.1 launches are OAuth 1.0a HMAC signatures with a five-minute timestamp window and single-use nonces. Both are verified on every launch.

What every submission gets

Three checks on the same upload.

Collecting the code is the easy half. Once it is in the folder, one click runs three independent detection passes and links every match to its source.

Peer-to-peer similarity

Every submission against every other in the check, and against earlier terms when you keep prior checks in the folder. Survives renaming, reordering and comment stripping.

Web and GitHub checking

Public repositories, Stack Overflow, tutorial and homework help sites. Every match links back to the page it came from, so the evidence is one click away.

AI-written code detection

Per-file scoring for code generated by ChatGPT, Claude, GitHub Copilot and Gemini, with the signals shown so you review evidence rather than a bare number.

Questions

LMS integration, answered.

Canvas, Blackboard Learn and Ultra, Moodle, D2L Brightspace, Schoology, Sakai, Open edX and any other platform that speaks LTI 1.3 or LTI 1.1. Google Classroom and platforms without LTI use the shareable student portal link, or a bulk upload of the submissions you already collected.

For LTI 1.3, yes, once. An admin pastes one registration link into the LMS and Codequiry registers itself. For LTI 1.1, no. An instructor adds Codequiry at the course level with a key and secret from the folder's LMS Integration page, which also works on free Canvas accounts.

No. The LMS identifies the student on launch and passes their name and email, so they land on the submission page already attributed and simply upload their code.

The course title, the assignment title, the due date, the unlock and lock dates and the student's timezone. Each LMS course gets its own Codequiry folder and each LMS assignment its own check, created on the first launch or picked by the instructor through deep linking.

Yes. The submission page loads inside the LMS frame, and students also get a one-click option to open it in a full tab. In Canvas, ticking "Load this tool in a new tab" on the assignment is the smoothest option for large uploads.

Yes. LTI 1.3 uses OpenID Connect with RSA-signed JWTs, per-launch state and nonce checks, and public keys published on both sides. LTI 1.1 uses OAuth 1.0a HMAC signatures with a shared secret; Codequiry adds timestamp and nonce replay protection on top. Both keep submissions private to your folder. See the privacy policy.

Nothing extra. The integration is part of every plan, including the free trial. Checks are priced per assignment, and departments and institutions can license per course or per seat. See pricing.

Put it in front of your next assignment.

Create a folder, open its LMS Integration page, and hand the registration link to your admin. Or add it yourself over LTI 1.1 this afternoon. Either way the first submissions arrive attributed and ready to check.

Tools and sources referenced on this page

Codequiry is compared with these tools above. Each link goes to the project's official site so you can check the claims yourself.

  • MOSS (Measure of Software Similarity) Stanford University, Alex Aiken

    Free academic similarity service from 1994 that fingerprints code with winnowing and reports matching passages between submissions.

  • JPlag Karlsruhe Institute of Technology, open source

    Open-source token-based detector that compares programs with Greedy String Tiling and produces a similarity report per pair.

  • Dolos Ghent University, open source

    Open-source similarity tool built on tree-sitter parsing, with a web interface for exploring clusters of related submissions.

  • Turnitin Turnitin, LLC

    Commercial text plagiarism and AI-writing detection for essays and documents. It is not designed for source code.