Dolos
Ghent, Belgium
What it is
Dolos is a free, open-source tool for finding similarities between source-code submissions. It is geared toward teachers reviewing programming tests, exams, and exercises where collaboration may be allowed within small groups. Its analysis converts source files into token sequences, fingerprints those sequences, indexes matches, and produces reports. For each pair of files, reports include similarity, total overlap, and the longest matching fragment. Dolos uses Tree-sitter parsers and supports common languages such as Bash, C, C++, C#, Elm, JavaScript, Java, PHP, Python, and TypeScript. The web app accepts ZIP archives and identifies languages from file extensions. In a mixed-language ZIP, it analyzes only the dominant language unless a language is selected. The public API limits ZIP submissions to 10 MB; the CLI or library is recommended for larger submissions. Users can run analyses locally and view results in a browser, or host their own server. The free web app runs on Ghent University servers in Belgium. Dolos provides a JSON API for integrations such as Dodona, and CSV is listed as a report export format.
For and against
For
- Free and open source under the MIT license
- Reports similarity, overlap, and longest matching fragment
- Supports common programming languages through Tree-sitter
- Can run locally or on a self-hosted server
- Provides a JSON API and CSV report export
Against
- Public API ZIP submissions are limited to 10 MB
- Mixed-language ZIPs analyze only the dominant language by default
The verdict
Dolos focuses on similarities between source-code submissions and provides web, API, local, and self-hosted use. The 10 MB public API limit and mixed-language behavior are important to account for when preparing submissions.
Who it suits
Dolos suits teachers checking programming tests, exams, or exercises where limited collaboration is permitted. It also fits users who want to run source-code comparisons locally or host their own server.
Plans and prices
Free web application
Browser-based source-code analysis · public API ZIP limit 10 MB
Read 15 Oct 2026 · dolos.ugent.be
Dolos web app
Free to use · ZIP uploads limited to 10 MB
Read 4 Oct 2026 · dolos.ugent.be
On the record
- Algorithm pipeline
- The analysis pipeline uses tokenization, fingerprinting, indexing and reporting.dolos.ugent.be · read 15 Oct 2026
- Analysis
- Its pipeline tokenizes source files, fingerprints token sequences, indexes matches, and generates reports.dolos.ugent.be · read 4 Oct 2026
- API
- The JSON API accepts multipart ZIP uploads and returns report URLs and machine-readable report objects.dolos.ugent.be · read 15 Oct 2026
- API authentication
- The publicly hosted API currently requires no authentication.dolos.ugent.be · read 15 Oct 2026
- API integration
- The API is intended for automated connections with exercise platforms such as Dodona.dolos.ugent.be · read 15 Oct 2026
- API limit
- The public API limits ZIP submissions to 10 MB and recommends the CLI or library for larger submissions.dolos.ugent.be · read 4 Oct 2026
- API size limit
- Public API ZIP uploads are capped at 10 MB; larger analyses are directed to the CLI or library.dolos.ugent.be · read 15 Oct 2026
- Audience
- Dolos focuses on teachers checking programming tests and exams, as well as exercises where collaboration is allowed within small groups.dolos.ugent.be · read 4 Oct 2026
- CLI
- The npm package provides a command-line interface for local analysis and browser-based report viewing.dolos.ugent.be · read 15 Oct 2026
- Cluster analysis
- The interface groups related submissions into clusters to help instructors identify larger collaboration groups.dolos.ugent.be · read 15 Oct 2026
- Copyright origin
- The repository license identifies the copyright holder as Team Dolos and dates the copyright to 2019.github.com · read 15 Oct 2026
- Docker
- A Docker container is provided for running Dolos locally or self-hosting the web application.github.com · read 15 Oct 2026
- Export formats
- CLI output can be terminal text, CSV files or an interactive web report.dolos.ugent.be · read 15 Oct 2026
- Extensible parsers
- Locally installed Tree-sitter parser packages can be discovered at runtime to add languages.dolos.ugent.be · read 15 Oct 2026
- 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.dolos.ugent.be · read 4 Oct 2026
- Independent benchmark limitation
- The same 2026 study found performance fell at harder modification levels and that CrystalBLEU surpassed Dolos overall after preprocessing.arxiv.org · read 15 Oct 2026
- Independent benchmark result
- A 2026 University of Warwick study found Dolos had the best overall ranking performance without preprocessing on its evaluated datasets.arxiv.org · read 15 Oct 2026
- Independent research description
- A 2024 arXiv paper reports a redesigned web app, hierarchical dashboards and clusters intended to help educators investigate suspected plagiarism.arxiv.org · read 15 Oct 2026