EVERYTHING XIAOMI
Get listed

JPlag

JPlag compares programs with one another to identify pairwise similarities that may indicate source-code plagiarism or collusion.

Place
#8 of 28
Score
7.5
JPlag's website

What JPlag is

JPlag compares programs with one another to identify pairwise similarities that may indicate source-code plagiarism or collusion. It examines programming-language syntax and program structure, which can reveal matches even when code has been partly obfuscated. The project says analysis runs locally and sends no data externally; it does not check submissions against internet sources. Its listed language support includes Java, C, C++, C#, Python, JavaScript, TypeScript, Go, Kotlin, R, Rust, Swift, Scala, LLVM IR, Scheme, EMF, SCXML, text, and multi-language submissions, with varying maturity. Users can work through a command-line interface or Java API; the CLI can also launch a report viewer. JPlag is available through Maven Central for use as a Java project dependency. It is free, but running or building it requires Java SE 25. By default, the report’s top list and code comparison include up to 2,500 pairs, adjustable with the -n option. Reducing the minimum matching-token length raises sensitivity but can also raise false positives.

Good

  • Analysis runs locally, with no external data sent.
  • Compares syntax and program structure.
  • Provides a command-line interface and Java API.
  • Supports a broad set of languages and formats.
  • Free to use.

Watch out

  • Does not compare submissions against the internet.
  • Requires Java SE 25 to run or build.
  • Language support maturity varies.
  • Lower token thresholds can increase false positives.

Who it suits

JPlag suits educators comparing programming submissions and developers looking for duplicated or modified software components. It is also a fit for users who need local analysis and can meet its Java SE 25 requirement.

Verdict

JPlag is a free option for pairwise code comparison, with local processing and several ways to integrate or run it. Its internet-search limitation and Java requirement are important considerations.

Plans and prices

From JPlag's own pricing page, checked 15 Oct 2026.

All about pricing
PlanPriceWhat it gives you
JPlagFreeopen-source software · runs locally · Java SE 25 required

The facts

Each one read from JPlag's own pages, with the date it was checked.

What it does

Build process
Building from source uses Maven, and including the report viewer in the assembled JAR additionally requires Node.js.checked 15 Oct 2026
CLI
JPlag provides a command-line interface with language selection, run/view modes, result-file output and configurable comparison limits.checked 15 Oct 2026
Cluster analysis
A cluster view shows relationships and group dynamics among multiple programs.checked 15 Oct 2026
Documentation and support
Documentation is provided through the GitHub wiki, repository README, issue tracker, discussions and a listed project email address.checked 15 Oct 2026
Early research record
The original JPlag publication describes pairwise similarity scoring with similarity regions and a Greedy String Tiling-based comparison algorithm.checked 15 Oct 2026
Education use
The project is primarily intended for detecting copied student programming assignments, although it also describes software-theft use cases.checked 15 Oct 2026
Extensibility
The repository contains separate language, language-API, parser-utility and report-viewer modules for extending or integrating the system.checked 15 Oct 2026
Historical comparison
New submissions can be compared with one another and with an old-submission set, while old submissions are not compared among themselves.checked 15 Oct 2026
History
JPlag originated in 1996 at Karlsruhe Institute of Technology and was revived and modernized from late 2020.checked 15 Oct 2026
How it compares
It analyzes programming-language syntax and program structure, which helps it detect similarities despite some obfuscation attempts.checked 29 Sep 2026
Independent comparison
Codequiry describes JPlag as self-hosted open-source KIT software requiring Java and contrasts it with hosted alternatives.checked 15 Oct 2026
Independent directory facts
Helmholtz's Research Software Directory describes JPlag as locally executable open source and lists GPL-3.0-only licensing.checked 15 Oct 2026
Integration
JPlag is published on Maven Central for inclusion as a dependency in Java projects.checked 29 Sep 2026
Interfaces
JPlag can be used through its command-line interface or Java API, and the CLI can launch the report viewer.checked 29 Sep 2026
Internet matching limit
JPlag compares submissions with one another rather than searching the public internet.checked 15 Oct 2026
Java API
The project exposes a Java API that can run analyses and create saved reports from Java applications.checked 15 Oct 2026
Language maturity
Language modules are marked with different maturity levels, including mature, beta, legacy and alpha.checked 15 Oct 2026
Languages
The README 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 submissions, with varying maturity levels.checked 29 Sep 2026
Latest release news
Release 6.3.0 added Java 25 support, rarity-based match weighting, a version-check skip option and a Google AutoService-based API change.checked 15 Oct 2026
License
The software is distributed under the GPL-3.0-only license.checked 15 Oct 2026
Limit: benchmark accuracy
The same benchmark reported 37 of 42 confirmed copied pairs detected, five false positives, 88.1% precision and 88.1% recall for JPlag in that test.checked 15 Oct 2026
Limit: benchmark runtime
A 2026 independent benchmark reported JPlag 5.2.0 took 18 minutes 24 seconds on 214 Python submissions and produced a 14 MB result archive.checked 15 Oct 2026
Limit: fine-grained transformations
A research evaluation found that available plagiarism detectors, including JPlag, were not robust against some fine-grained source-structure transformations, although JPlag was among the more robust tools tested.checked 15 Oct 2026

The company

Founded
1996checked 28 Sep 2026
The full review of JPlag

JPlag is a local code-similarity analyzer for comparing submitted programs, making it a strong fit for programming educators and developers who can manage a Java-based workflow. Its structural matching and integration options are useful when privacy matters; it is the wrong tool for web-wide plagiarism searches or AI-writing detection.

Overview

Originally developed at Karlsruhe Institute of Technology in 1996 and maintained primarily by KIT researchers, JPlag looks for pairwise similarities among programs to flag possible source-code plagiarism, collusion, or duplicated software components. Analysis runs on your machine and sends no data externally, which suits institutions that cannot upload student or proprietary code. The scope is deliberately bounded: comparisons are made only among the submissions you provide, not against material on the public internet.

Key features

JPlag analyzes programming-language syntax and program structure instead of depending solely on identical text. That approach can expose related code despite some obfuscation or light modification, giving reviewers a more useful signal than a basic text comparison. It does not establish intent, however; an instructor or engineer still has to decide whether a similarity reflects plagiarism, legitimate collaboration, or reused components.

The README lists Java, C, C++, C#, Python, JavaScript, TypeScript, Go, Kotlin, R, Rust, Swift, Scala, LLVM IR, Scheme, EMF, SCXML, text, and multi-language submissions. Maturity varies by language, so the broad list is an opportunity rather than a promise of identical coverage everywhere.

There are two practical interfaces: a command-line tool, whose CLI can launch the report viewer, and a Java API. Publication on Maven Central makes it straightforward to include JPlag as a dependency in Java projects. Reports show at most 2,500 pairs in the top list and code comparison by default; the -n option changes that limit for larger or more selective reviews. Lowering the minimum matching-token length increases sensitivity, but also raises the risk of false positives and therefore review workload.

Pricing

JPlag — free (open-source software, runs locally, requires Java SE 25). There is no paid tier or free trial because the software is free. That makes it suitable for educators, research groups, and development teams that can operate their own tooling and do not need hosted web searches, LMS connections, or AI detection. The trade-off is operational: you must provide the Java runtime and manage execution yourself.

Platforms

JPlag is offered as an API and self-hosted tool for Linux, macOS, and Windows. Running or building it requires Java SE 25, an important compatibility consideration for machines or institutional environments on older Java versions.

Who it's for

Choose JPlag for programming courses comparing a cohort's submissions, or for developers checking whether software parts have been duplicated or lightly modified. It is particularly persuasive when keeping code on-premises is essential and when command-line, API, or Maven integration fits your process. Look elsewhere if your primary need is matching against online sources, a browser-first service, LMS integration, or AI-generated-text detection.

Pros and cons

Pros

  • Private local analysis: submissions stay on the user's machine rather than being sent externally.
  • Structural comparison: syntax and program structure can reveal similarities that survive some obfuscation.
  • Flexible integration: CLI, Java API, report viewer, and Maven Central support serve both manual and automated workflows.
  • Broad language coverage: the supported list spans mainstream, specialist, text, and multi-language inputs.
  • No software charge: the open-source tool costs nothing.

Cons

  • No internet comparison: it cannot check submissions against public web content.
  • Java SE 25 dependency: environments that cannot adopt that runtime are poor candidates.
  • Default report cap: only 2,500 pairs appear in the top list and code comparison unless -n is adjusted.
  • Tuning can add noise: higher sensitivity from shorter matching tokens may increase false positives.
  • Uneven language maturity: listed languages do not all imply the same level of support.

Alternatives

For hosted checks that include public-web and Common Crawl sources, consider Noplag, whose free plan allows three checks per month at 2,500 words per check. Noplag Engine is the better fit when you want self-hosting with unlimited local checks, while its free allowance is three 2,500-word checks per month.

Plagium suits mobile and web users needing five free daily searches, but its free account limits searches to 4,000 characters and excludes Deep Search and API access. Choose GPTZero instead for AI detection, with its free tier covering 10,000 words per month and 50,000 characters. Dolos is another free, open-source option with a web app, though ZIP uploads are limited to 10 MB. Copyscape is aimed at web-oriented plagiarism checks, with free URL scans limited per website and 10 results per search. MOSS offers free non-commercial code checking with 100 submissions per day per user. Originality.ai is suited to AI detection, with its Basic plan providing three daily scans of up to 2,000 words.

Verdict

JPlag is the right choice for educators and developers who need private, pairwise source-code comparison and can run Java SE 25 locally. Its structural analysis, broad language list, and API access are compelling without a software fee. Choose another service when internet-wide matching, browser convenience, LMS integration, or AI detection matters more than local control.

Alternatives to JPlag

All alternatives
  1. 1Noplag logo

    Noplag

    Free planOpen sourceWebAPILinuxmacOS
    8.3From $9.99 a month
  2. 2

    Plagiarisma

    Free planAndroidWebAPIExtension
    8.0From $99 a year
  3. 3

    Plagium

    Free planAndroidiOSWebAPI
    8.0From $19.98 a month
  4. 4

    Dolos

    Free planOpen sourceWebAPILinuxmacOS
    7.7Free plan
  5. 5Originality.ai logo

    Originality.ai

    Free planWebAPIExtension
    7.6From $12.95 a month
  6. 6

    Copyscape

    Free planWebAPISelf-hosted
    7.5From $4.95 a month