ChatGPT Paper Checker for Teachers 🫧

AI detectors hand you a percentage and ask you to trust it. TextWash shows you evidence you can see with your own eyes — every hidden character, named by its Unicode code point.

🔒 100% private — your text never leaves this browser tab

📝 Your text

🔍 Fingerprint report

paste text to scan
Findings will appear here. Invisible characters are shown in red, typography in amber, style tells in blue.

👁️ X-ray view — invisible characters made visible

Your text with every hidden character exposed will render here.

How to tell if a paper was pasted from ChatGPT

Text copied out of an AI chat window carries physical artifacts that survive the trip into a submission box: narrow no-break spaces (U+202F) that ChatGPT inserts between numbers and units, occasional zero-width characters, true em dashes and real ellipsis characters (…), curly quotes throughout, and sometimes raw Markdown residue like stray ** markers. No probability model is involved in finding them — they either exist in the text or they don't. Paste the paper above and the x-ray view renders each one in place, labeled with its Unicode code point, so you can verify every finding yourself rather than trusting a score.

Evidence, not a verdict

TextWash deliberately does not tell you whether a paper was AI-written, and it never produces an "87% AI" number. It reports what is physically present in the text — nothing more. That restraint is the point: character evidence is one honest input to your judgment, alongside the student's drafts, version history, in-class writing and a conversation. Some artifacts have innocent explanations — Word and Google Docs produce curly quotes and em dashes on their own, and a quote pasted from a website brings its hidden characters along. The strongest signals are the ones almost nothing but a chatbot produces, like U+202F sitting between a number and a percent sign. For worked examples you can show colleagues, see what's hiding in AI text; to put two papers by the same student side by side, use the compare view.

The false-positive problem — and why receipts beat scores

AI-detector false positives have real consequences: hand-written work flagged, non-native English speakers disproportionately misread, students punished on the strength of a number nobody can audit. A finding you can point at is different in kind. "There is a zero-width space at character 412, here it is" is checkable by anyone — the student, the department, an appeals panel — in any Unicode inspector. That's also why a clean report is not an acquittal and a dirty one is not a conviction: TextWash gives you the artifacts and their names, and the judgment stays where it belongs, with you. (Students can run the same check before submitting — that openness is the point.) Everything runs locally in your browser, so student work is never uploaded to anyone's server, including ours.

FAQ

Does a clean report prove the student didn't use AI?

No. A student who cleaned the mechanical artifacts (this very tool does that) or retyped the text would show a clean report despite using AI — and hand-typed work is clean by default. Character evidence can support a concern; absence of it proves nothing. Treat the report as one input alongside drafts, version history and a conversation with the student.

What's the strongest single sign a paper was pasted from ChatGPT?

The narrow no-break space, U+202F — ChatGPT routinely inserts it between a number and a unit or percent sign, and virtually no keyboard or word processor produces it. Zero-width characters are similarly strong. Curly quotes and em dashes are much weaker evidence on their own, because Word and Google Docs insert those in honest, hand-typed work.

Is the student's paper uploaded when I check it?

No. The page is static JavaScript with no backend — the analysis happens entirely in your browser, and the paper is never transmitted, stored or logged. You can check student work without sending it to any third-party service.