JPlag
GPL-licensed source code plagiarism finder that compares submissions on your own machine
Key data
| Company | JPlag project (contact address at ipd.kit.edu) |
|---|---|
| Category | Plagiarism Checkers |
| Headquarters | not stated on the pages we read, Germany |
| Founded | Not stated |
| EU Presence | Yes - Germany (contact on a kit.edu address) |
| Data Location | Local; JPlag states that no source code or results are uploaded online |
| Open Source | GPL-3.0 |
| GDPR Compliant | Yes |
| Self-Hosting | Yes - runs as a local command-line tool or Java library |
| Main Features | Pairwise similarity of programs, obfuscation resistance, report viewer, CSV export, normalisation of tokens, CLI, Java API, many language front ends |
| Pricing | Free, open source under GNU GPL version 3 |
| Best For | Teaching teams that must keep student code on their own machines and compare many programs |
| Replaces | Turnitin |
Review in detail
JPlag finds pairwise similarities among a set of programs and can detect software plagiarism and collusion even when code is obfuscated. JPlag states that all similarities are calculated locally and no source code or plagiarism results are ever uploaded.
The repository README gives the contact address jplag@ipd.kit.edu and links the project on the Helmholtz research software directory. The licence file is the GNU General Public License version 3.
Languages JPlag supports
JPlag lists Java, C, C++, C#, Python, JavaScript, TypeScript, Go, Kotlin, R, Rust, Swift, Scala, LLVM IR, Scheme and EMF models. Each language carries a maturity flag, from mature to alpha.
A plain-text mode exists, marked naive and to be used with caution. JPlag is not a prose plagiarism checker.
Running JPlag locally
JPlag needs Java SE 25 and runs from the command line or as a Java library. Options include a minimum token match for sensitivity, old and new submission folders, and CSV export.
The result is a report file that JPlag opens in an internal viewer on a local port.
JPlag compared with Turnitin
JPlag keeps student code on the teacher's machine. Turnitin is a hosted service with a product family that spans grading and exams.
JPlag has no user accounts, hosting or LMS integration of its own.
Where it falls short
JPlag is a command-line research tool, so a teacher needs Java and some technical comfort. The pages we read name no legal entity or postal address, only a contact address at a kit.edu domain. It compares programs, not essays. Another code option is Dolos, which has a browser app.
Is JPlag right for you?
University programming courses that need local, inspectable comparison of many student programs.
Advantages and drawbacks
Pros
- Free and open source (GPL-3.0)
- Runs locally, nothing uploaded
- Many language front ends
- Resists obfuscation of code
- Command line and Java API
Cons
- Source code only, not prose
- Requires Java SE 25 and a command line
- No entity or address on the pages we read
- No hosted web app
Pros and Cons
Pros
- Free and open source (GPL-3.0)
- Runs locally, nothing uploaded
- Many language front ends
- Resists obfuscation of code
- Command line and Java API
Cons
- Source code only, not prose
- Requires Java SE 25 and a command line
- No entity or address on the pages we read
- No hosted web app
Alternatives to JPlag
More European plagiarism checkers you can weigh against it:
See all European plagiarism checkers or compare them directly against Turnitin on our alternatives page.
Common questions
No. JPlag states that all similarities are calculated locally and no source code or plagiarism results are uploaded online.
The repository carries the GNU General Public License version 3.
Not well. JPlag is built for programs, and its text mode is marked naive and to be used with caution.