DOMJudge is a free, open-source automated judging system for programming contests like the ICPC. See how it works, key features, and alternatives.
Category
Productivity
Pricing
Free / Open Source, from Free
Verified
Not yet
Last updated
July 18, 2026
Founded
2004
Headquarters
Utrecht, Netherlands
Free PlanWeb AppOpen SourceSelf-Hosted
Overview
DOMJudge is a free, open-source automated judging system for running programming contests, most notably regional events of the ACM ICPC, handling submission compilation, execution, output comparison, and scoring.
First committed in May 2004 and originating from the computer science student association at Utrecht University, DOMJudge has grown into the de facto standard judge used across many ICPC regionals worldwide.
Key Features
The system automatically compiles and runs contestant submissions against jury-defined test cases, supports distributed judging across multiple machines, and offers separate web interfaces for teams, jury members, and public scoreboards.
Its modular design lets contest organizers add support for additional programming languages and compilers, and it handles clarification-request communication between teams and the jury during a live contest.
Pricing
DOMJudge is entirely free and open-source under the GPL-2.0 license, with no licensing fees or usage charges from the project.
Organizations only need to budget for their own server and judge-machine infrastructure, since DOMJudge does not offer an official paid hosting or SaaS product.
Key Features
Automated submission judging — Compiles and runs contestant code against jury-defined test cases and automatically determines the verdict (accepted, wrong answer, time limit exceeded, etc.).
Distributed judging — Scales judging across multiple machines running in parallel to keep queues short during high-submission-volume contests.
Team, jury, and public interfaces — Separate web interfaces let teams submit and view results, juries manage problems and clarifications, and the public follow a live scoreboard.
Modular language support — Add support for additional programming languages or compilers through the system's pluggable language architecture.
Clarification request system — Handles structured communication between contestant teams and the jury during a live contest.
Command-line and web submission — Contestants can submit solutions through either a command-line client or a web-based interface.
Live ranked scoreboard — Displays a real-time, publicly viewable scoreboard ranking teams by problems solved and penalty time.
Self-hosted deployment — Runs on a standard Linux, PHP, and MySQL/MariaDB stack under an organization's own infrastructure.
Pros & Cons
Pros
Completely free and open-source with no licensing costs.
Long, proven track record as trusted judging infrastructure across many ICPC regional contests.
Distributed judging architecture scales to handle high-volume submission traffic during live contests.
Modular language support makes it adaptable to a wide range of contest formats and requirements.
Cons
No official managed hosting or SaaS option; organizers must set up and maintain their own servers.
Interface and workflow are purpose-built for competitive programming contests rather than general-purpose use.
Requires technical setup, including judge machine configuration for isolated code execution.
Smaller maintainer community compared to broader open-source projects, though highly specialized and stable.
Pricing
Open Source Free N/A
Frequently Asked Questions
Is DOMJudge free to use?
Yes, DOMJudge is fully open-source under the GPL-2.0 license and free to download, install, and run with no licensing fees.
Who created DOMJudge?
DOMJudge originated in 2004 with the computer science student association at Utrecht University in the Netherlands and has since been maintained by an international open-source community.
What contests use DOMJudge?
DOMJudge is used in numerous ICPC regional contests, including NWERC and SWERC, as well as university courses and other competitive programming events worldwide.
What does DOMJudge require to run?
DOMJudge requires a Linux server with PHP 7.4 or newer, a MySQL or MariaDB database, and compilers for whichever programming languages the contest will support.
Does DOMJudge support multiple programming languages?
Yes, its modular architecture lets contest organizers plug in support for additional languages and compilers as needed.
What are alternatives to DOMJudge?
Alternatives include PC^2, Kattis, Codeforces' judging infrastructure, and CMS (Contest Management System), which is more commonly used for olympiad-style informatics competitions.