DMOJ
dmoj.ca
What it is
DMOJ is an open-source platform for programming contests and an archive of programming problems. Its archive includes tasks from past CCC, CCO, COCI, IOI and JOI competitions, among other sources, and it runs a monthly open programming competition. Public contests can be hosted at no cost. Contest formats include ICPC, IOI, AtCoder and ECOO, with system testing, hidden scoreboards and virtual participation. Judging supports interactive and signature-graded tasks, runtime data generators, custom output validators, per-language resource limits and scaling to hundreds of judging servers. Problem statements can include Markdown, LaTeX math and figures, syntax highlighting, PDF generation and built-in editorials. DMOJ integrates with Stanford MOSS for plagiarism checking and supports OAuth login, two-factor authentication and fine-grained staff permissions. Documentation is available for self-hosting the site and judge; the installation guide says the site is tested with MySQL and is unlikely to work with other databases. AI use is prohibited in rated contests, and judging resources cannot be used for AI training.
Spec sheet
- Purpose
- DMOJ is a modern contest platform and archive of programming problems, and is entirely open source.Read 4 Oct 2026 · dmoj.ca
- Audience
- DMOJ offers free public contest hosting and says educational organizations can contact it about hosting private contests for a small fee.Read 4 Oct 2026 · dmoj.ca
- Support
- The site asks users with questions about hosting contests to contact a moderator.Read 4 Oct 2026 · dmoj.ca
- Authentication and access
- The platform supports OAuth login with Google, Facebook, and GitHub, two-factor authentication, and fine-grained staff permissions.Read 4 Oct 2026 · github.com
- Contest formats
- The contest system supports ICPC, IOI, AtCoder, and ECOO formats, along with system testing, hidden scoreboards, and virtual participation.Read 4 Oct 2026 · github.com
- Contests
- DMOJ runs the DMOJ Monthly Open Programming Competition for people interested in competitive programming.Read 4 Oct 2026 · dmoj.ca
- Judging
- The platform supports interactive and signature-graded tasks, runtime data generators, custom output validators, per-language resource limits, and scaling to hundreds of judging servers.Read 4 Oct 2026 · github.com
- Plagiarism integration
- The contest system integrates with Stanford MOSS for plagiarism checking.Read 4 Oct 2026 · github.com
- Problem archive
- The site hosts problems from past CCC, CCO, COCI, IOI, and JOI competitions, as well as other sources.Read 4 Oct 2026 · dmoj.ca
- Problem statements
- Problem statements support Markdown, LaTeX math and figures, syntax highlighting, PDF generation, and built-in editorials.Read 4 Oct 2026 · github.com
- Security reporting
- DMOJ asks researchers to send potential security issues privately for responsible disclosure before making them public.Read 4 Oct 2026 · dmoj.ca
- Self-hosting
- The maker provides documentation for installing the DMOJ site and judge.Read 4 Oct 2026 · github.com
- Self-hosting requirement
- The installation guide says the site is tested to work with MySQL and is unlikely to work with other databases.Read 4 Oct 2026 · github.com
- Use restrictions
- DMOJ says AI use is prohibited in rated contests and use of its judging resources for AI training is prohibited.Read 4 Oct 2026 · dmoj.ca
Plans and prices
Strong points and limits
Strong points
- Supports ICPC, IOI, AtCoder and ECOO formats
- Judging supports custom output validators
- Problem statements support LaTeX math and figures
- Public contest hosting costs nothing
Limits
- Self-hosted site is unlikely to work with databases other than MySQL
- AI use is prohibited in rated contests
- Judging resources cannot be used for AI training
Who it suits
DMOJ suits programming contest organizers, competitors and educational organizations interested in hosting contests or using an archive of programming problems. Self-hosters should note the stated MySQL constraint.
Verdict
DMOJ offers extensive contest formats and judging controls as an open-source platform, with public contest hosting listed at no cost. Its self-hosting guide points to MySQL as the supported database, and its rules restrict AI use in rated contests and AI training on judging resources.
Where Specifiction places it
- Automated Grading Software#11 of 338.2
- Coding Challenge Platforms#11 of 308.0