Skip to content
SPECIFICTION
Get listed

Dolos

dolos.ugent.be

Free plan Open source WebWindowsmacOSLinuxAPISelf-hosted

What it is

Dolos is a free, open-source tool for finding similarities between source-code submissions, particularly for teachers reviewing tests, exams, and exercises where collaboration may be allowed in small groups. Its analysis process tokenizes files, fingerprints token sequences, indexes matches, and produces reports. For each file pair, reports include similarity, total overlap, and the longest matching fragment. Dolos uses Tree-sitter parsers and supports languages including Bash, C, C++, C#, Elm, JavaScript, Java, PHP, Python, and TypeScript. The web app accepts ZIP files and detects languages from file extensions; in mixed-language archives, it analyzes only the dominant language unless a language is selected. Its public API accepts ZIP submissions up to 10 MB, with the CLI or library recommended for larger submissions. Analyses can also run locally, with results displayed in a browser, or on a self-hosted server. The free web app is hosted on Ghent University servers in Belgium. Dolos provides a JSON API for integrations such as Dodona and lists CSV as a report export format.

Spec sheet

What it does
Dolos detects similarities and possible plagiarism among programming source-code submissions.Read 15 Oct 2026 · dolos.ugent.be
Purpose
Dolos detects plagiarism by finding similarities between source code submissions.Read 4 Oct 2026 · dolos.ugent.be
Audience
Dolos focuses on teachers checking programming tests and exams, as well as exercises where collaboration is allowed within small groups.Read 4 Oct 2026 · dolos.ugent.be
API
The JSON API accepts multipart ZIP uploads and returns report URLs and machine-readable report objects.Read 15 Oct 2026 · dolos.ugent.be
Integrations
Dolos provides a JSON API for automated integration with exercise platforms such as Dodona.Read 4 Oct 2026 · dolos.ugent.be
Privacy
Team Dodona says it never shares submitted files or analysis reports and never uses them for commercial purposes; users can delete their data, and older data is periodically deleted.Read 4 Oct 2026 · dolos.ugent.be
Support
General questions and support are handled through GitHub discussions, while bugs and feature requests use GitHub issues.Read 15 Oct 2026 · dolos.ugent.be
Headquarters
Ghent, BelgiumRead 28 Sep 2026 · dolos.ugent.be
Maker
Dolos is developed by Team Dodona at Ghent University in Belgium.Read 15 Oct 2026 · dolos.ugent.be
Algorithm pipeline
The analysis pipeline uses tokenization, fingerprinting, indexing and reporting.Read 15 Oct 2026 · dolos.ugent.be
Analysis
Its pipeline tokenizes source files, fingerprints token sequences, indexes matches, and generates reports.Read 4 Oct 2026 · dolos.ugent.be
API authentication
The publicly hosted API currently requires no authentication.Read 15 Oct 2026 · dolos.ugent.be
API integration
The API is intended for automated connections with exercise platforms such as Dodona.Read 15 Oct 2026 · dolos.ugent.be
API limit
The public API limits ZIP submissions to 10 MB and recommends the CLI or library for larger submissions.Read 4 Oct 2026 · dolos.ugent.be
API size limit
Public API ZIP uploads are capped at 10 MB; larger analyses are directed to the CLI or library.Read 15 Oct 2026 · dolos.ugent.be
CLI
The npm package provides a command-line interface for local analysis and browser-based report viewing.Read 15 Oct 2026 · dolos.ugent.be
Cluster analysis
The interface groups related submissions into clusters to help instructors identify larger collaboration groups.Read 15 Oct 2026 · dolos.ugent.be
Copyright origin
The repository license identifies the copyright holder as Team Dolos and dates the copyright to 2019.Read 15 Oct 2026 · github.com
Docker
A Docker container is provided for running Dolos locally or self-hosting the web application.Read 15 Oct 2026 · github.com
Export formats
CLI output can be terminal text, CSV files or an interactive web report.Read 15 Oct 2026 · dolos.ugent.be
Extensible parsers
Locally installed Tree-sitter parser packages can be discovered at runtime to add languages.Read 15 Oct 2026 · dolos.ugent.be
Hosting
The free web app is hosted on Ghent University servers in Belgium, and users can also run Dolos locally or host their own server.Read 4 Oct 2026 · dolos.ugent.be
Independent benchmark limitation
The same 2026 study found performance fell at harder modification levels and that CrystalBLEU surpassed Dolos overall after preprocessing.Read 15 Oct 2026 · arxiv.org
Independent benchmark result
A 2026 University of Warwick study found Dolos had the best overall ranking performance without preprocessing on its evaluated datasets.Read 15 Oct 2026 · arxiv.org
Independent research description
A 2024 arXiv paper reports a redesigned web app, hierarchical dashboards and clusters intended to help educators investigate suspected plagiarism.Read 15 Oct 2026 · arxiv.org
Independent research stack
The 2024 paper identifies a web interface, JSON API, CLI, JavaScript library and Docker container as Dolos components.Read 15 Oct 2026 · arxiv.org
Interactive reports
Reports provide visual exploration of similarity relationships among files.Read 15 Oct 2026 · dolos.ugent.be
JavaScript library
Dolos includes a JavaScript library for embedding analysis in other applications.Read 15 Oct 2026 · dolos.ugent.be
Languages
Dolos uses Tree-sitter parsers and supports common languages including Bash, C, C++, C#, Elm, JavaScript, Java, PHP, Python, and TypeScript out of the box.Read 4 Oct 2026 · dolos.ugent.be
Licence
The repository distributes Dolos under the MIT License, including permission to use, modify, distribute and sell copies with the notice retained.Read 15 Oct 2026 · github.com
Limit: boilerplate similarity
Common exercise templates and test code can inflate similarity scores unless instructors configure ignore files or common-fragment thresholds.Read 15 Oct 2026 · dolos.ugent.be
Limit: mixed languages
For ZIP submissions containing multiple languages, the server inspects only files from the dominant language.Read 15 Oct 2026 · dolos.ugent.be
Limit: tuning trade-off
Increasing the winnowing window or k-gram length reduces runtime and memory use but can reduce detection accuracy.Read 15 Oct 2026 · dolos.ugent.be
Offline use
The command-line tool can run analyses locally and display results in a browser; a Docker image is also provided.Read 4 Oct 2026 · dolos.ugent.be
Open source
Dolos is open source under the MIT license.Read 4 Oct 2026 · dolos.ugent.be
Parser technology
Dolos tokenizes source code with Tree-sitter and masks variable and function names to reduce the effect of renaming.Read 15 Oct 2026 · dolos.ugent.be
Recent release
GitHub release v2.9.3 documented a permission-denied cleanup fix, updated the macOS CI runner, improved Docker reproducibility and added rootless Docker support.Read 15 Oct 2026 · github.com
Reports
Reports include similarity, total overlap, and the longest matching fragment for file pairs.Read 4 Oct 2026 · dolos.ugent.be
Security statement
The home page describes the hosted web application as secure, private and fast.Read 15 Oct 2026 · dolos.ugent.be
Self-hosting
The open-source web application can be hosted by users on their own infrastructure.Read 15 Oct 2026 · github.com
Similarity metrics
Pair reports include similarity, total overlap and the longest matching fragment.Read 15 Oct 2026 · dolos.ugent.be
Supported languages
Built-in parsers cover Bash, C, C++, C#, Elm, JavaScript, Java, PHP, Python and TypeScript, with additional Tree-sitter languages possible.Read 15 Oct 2026 · dolos.ugent.be
System requirement
CLI installation requires Node.js, and native-module builds may require Python plus a compiler or Visual Studio on Windows.Read 15 Oct 2026 · dolos.ugent.be
Usage
The web app accepts a ZIP of source files and automatically detects languages from file extensions, analyzing only the dominant language in mixed-language ZIPs unless a language is selected.Read 4 Oct 2026 · dolos.ugent.be
Use cases
Dolos is designed for programming tests, exams and exercises where instructors need to inspect copied or shared solutions.Read 15 Oct 2026 · dolos.ugent.be
Web app
The hosted application runs in a browser without requiring installation.Read 15 Oct 2026 · dolos.ugent.be

Plans and prices

Dolos web app Free Free to use · ZIP uploads limited to 10 MB Read 4 Oct 2026 · dolos.ugent.be
Free web application Free Free to use Browser-based source-code analysis · public API ZIP limit 10 MB Read 15 Oct 2026 · dolos.ugent.be

Every Dolos plan and price →

Strong points and limits

Strong points

  • Free and open source under the MIT license
  • Reports show overlap and longest matching fragments
  • Local analysis and self-hosting are available
  • JSON API supports integrations such as Dodona

Limits

  • Public API ZIP submissions are limited to 10 MB
  • Mixed-language ZIPs default to the dominant language

Who it suits

Dolos suits teachers checking programming tests, exams, and exercises where collaboration is permitted within small groups. It also offers local, API, and self-hosted options for workflows beyond the web app.

Verdict

Dolos offers several ways to analyze code submissions and inspect matching fragments. Its web and API ZIP limits and dominant-language behavior matter for mixed or larger submissions.

Where Specifiction places it

Alternatives to DolosAll alternatives →