Skip to content
SPECIFICTION
Get listed

JPlag

jplag.ipd.kit.edu

Free plan LinuxAPISelf-hosted
Visit jplag.ipd.kit.edu
Spec score 8.0 #10 of 31 in Plagiarism Checkers

What it is

JPlag is free, open-source software for finding pairwise similarities among submitted programs. It examines program syntax and structure to help detect source-code plagiarism and collusion, especially in student programming exercises, and can also identify duplicated or stolen software parts. It does not compare submissions with the internet. Supported inputs include Java, C, C++, C#, Python, JavaScript, TypeScript, Go, Kotlin, R, Rust, Swift, Scala, LLVM IR, Scheme, EMF, SCXML, text, and multi-language projects. JPlag runs locally, with the project stating that source code and plagiarism results are not sent externally. You can use its command-line interface, Java API, or Maven Central dependency. A bundled report viewer opens generated or existing reports. Base-code directories can exclude shared starter code, while matching-token sensitivity is adjustable. The default report lists up to 2500 comparison pairs, configurable with -n. Running or building it requires Java SE 25.

Spec sheet

Purpose
JPlag finds pairwise similarities among programs to detect source-code plagiarism and collusion.Read 11 Oct 2026 · github.com
Support
The project directs users to report bugs and issues and provides [email protected] for other inquiries.Read 11 Oct 2026 · github.com
Headquarters
Karlsruhe, GermanyRead 28 Sep 2026 · jplag.ipd.kit.edu
Founded
1996Read 28 Sep 2026 · jplag.ipd.kit.edu
Data handling
The project states that analysis runs locally and that source code and plagiarism results are not uploaded or sent externally.Read 11 Oct 2026 · github.com
Exclude starter code
A base-code directory can be specified so matches also present in the shared template are ignored.Read 11 Oct 2026 · github.com
How it compares
JPlag analyzes program syntax and structure and is designed to find similarities among submitted programs; it does not compare them with the internet.Read 11 Oct 2026 · github.com
Integration
JPlag is available as a dependency from Maven Central for inclusion in Java projects.Read 11 Oct 2026 · github.com
Report limit
The default report shows at most 2500 comparison pairs in its top list and code comparisons, configurable with the -n option.Read 11 Oct 2026 · github.com
Report viewer
Since version 6.0.0, the report viewer is bundled with JPlag and can open generated or existing reports.Read 11 Oct 2026 · github.com
Requirements
The project README says Java SE 25 is needed to run or build JPlag.Read 11 Oct 2026 · github.com
Run options
JPlag can be run through its command-line interface or called programmatically through its Java API.Read 11 Oct 2026 · github.com
Sensitivity setting
The minimum matching token length can be adjusted; lower values increase sensitivity but may cause more false positives.Read 11 Oct 2026 · github.com
Supported languages
The project lists support for Java, C, C++, C#, Python, JavaScript, TypeScript, Go, Kotlin, R, Rust, Swift, Scala, LLVM IR, Scheme, EMF, SCXML, text, and multi-language input.Read 11 Oct 2026 · github.com
Typical users
The project says it is typically used to detect copying of student programming exercises and can also identify duplicated or stolen software parts.Read 11 Oct 2026 · github.com

Plans and prices

JPlag Free Open-source software; runs locally; requires Java SE 25 Read 11 Oct 2026 · github.com

Every JPlag plan and price →

Strong points and limits

Strong points

  • Free open-source software
  • Local analysis keeps code and results external-free
  • Broad list of supported programming languages
  • Command-line, Java API, and Maven integration
  • Starter-code exclusion and sensitivity controls

Limits

  • No internet or academic-source matching
  • Requires Java SE 25
  • Default report list caps at 2500 pairs

Who it suits

JPlag suits educators checking programming exercises and developers looking for duplicated or stolen code parts. It is also appropriate for Java projects needing command-line or API integration with local analysis.

Verdict

JPlag focuses on structural, pairwise comparison of submitted programs rather than web searching. Its local operation, language coverage, APIs, and configurable reports suit controlled plagiarism checks where Java SE 25 is available.

Where Specifiction places it

Alternatives to JPlagAll alternatives →