Can Canvas Detect Copy and Paste?

Live test field

Try pasting (Ctrl/Cmd+V), copying selected text (Ctrl/Cmd+C), cutting (Ctrl/Cmd+X), or just typing. Watch the counts update and the log below.

📋 Paste
0
📑 Copy
0
✂️ Cut
0
⌨️ Keystrokes
0
Trigger any event above to see it fire.

What this proves

The browser fires paste, copy, cut, and keydown events on every webpage by default — including this one. They're standard DOM events; any JavaScript on the page can listen for them. So the technical capability exists.

The question isn't whether browsers can detect copy/paste — it's whether Canvas's quiz JavaScript chooses to listen.

The verdict for each tool

❌ Canvas LMS

Does NOT detect. Canvas's quiz textareas are standard HTML <textarea> elements with no clipboard event listeners. You can paste freely. Only your final submitted text reaches Canvas's server.

⚠️ Turnitin / Copyleaks

Detects the result, not the act. These plagiarism tools analyze your submitted text against a corpus of web pages, papers, and AI-generated content. They don't watch you paste — they read what you submitted. So a pasted block matching a known source gets flagged retroactively.

🚨 Respondus / Honorlock / Proctorio

Yes, in different ways. Respondus LockDown Browser blocks clipboard access entirely — you can't paste. Honorlock and Proctorio don't necessarily block it, but they record your screen and a reviewer watching the playback can see the paste happen. These are separate tools, only active if your exam requires them.

Why doesn't Canvas just add a paste listener?

Three reasons, in roughly this order:

  • It would log a flood of false positives. Students legitimately paste from their notes, from the assignment description on another tab, from accessibility tools. Canvas doesn't want to deal with the support load.
  • It doesn't actually help catch cheating. The post-hoc plagiarism check (Turnitin Originality, Copyleaks) catches copied text via content matching — far more reliable than "the student pressed Ctrl+V."
  • It would surface in the API surface. Canvas Submission Events are documented and open-source. Adding a paste event would mean exposing a new event type, and Instructure has chosen not to.

For the technical breakdown of what Canvas does and doesn't track in answer fields, see does Canvas track keystrokes — the keystroke + paste analysis is the same shape.

Canvas doesn't watch your clipboard. It does watch your tab focus.

Copy-paste isn't the risk — tab-switching is. Privacy Guard blocks the page_blurred events Canvas does listen for, keeping your quiz log clean.

Get Canvas Ninja

FAQ

Will Canvas know if I pasted ChatGPT into my essay?
Canvas itself: no. If your instructor uses Turnitin's AI-detection feature: possibly — it analyzes the submitted text's stylistic patterns to flag likely AI generation. The signal is paste-agnostic; you'd get the same flag from manually typed AI text.
Can my professor see paste timestamps?
No. Canvas doesn't expose paste events to instructors because Canvas doesn't capture them. The only timestamp visible per answer is the question_answered save event — which fires every ~30 seconds or on field-blur, regardless of how the text got there.
If I copy a question from the quiz, can Canvas tell?
No. Copy events fire in your browser only — nothing is reported to Canvas's server. Your copy stays in your clipboard, never touches Canvas.
Is this a Canvas copy paste detection test?
Yes. It shows what copy and paste events look like inside a browser page. For the Canvas-specific answer, read Does Canvas Track Copy and Paste?.
Can Canvas see where copied text came from?
No. Canvas cannot see whether copied text came from Google, ChatGPT, a PDF, notes, or another app. Separate plagiarism or AI-detection tools may analyze the submitted text later.
What about Respondus blocking copy-paste?
Respondus LockDown Browser disables the clipboard API at the application level, so paste returns nothing inside their browser. This works because LockDown is a replacement browser, not just JavaScript. Canvas alone cannot do this — only a custom-installed browser can.
Add to Chrome — Free