
DMOJ
DMOJ is an open-source platform for programming contests and an archive of programming problems.
What DMOJ 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. DMOJ also runs a monthly open programming competition and offers free public contest hosting. Contest formats include ICPC, IOI, AtCoder, and ECOO, with system testing, hidden scoreboards, and virtual participation. For judging, it 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. The platform 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 to work with MySQL and is unlikely to work with other databases. AI use is prohibited in rated contests, and use of judging resources for AI training is prohibited.
Good
- Open-source platform and problem archive.
- Supports four named contest formats.
- Provides public contest hosting at no cost.
- Judging supports custom validators and per-language limits.
- Problem statements support Markdown and LaTeX.
Watch out
- Self-hosted site is tested with MySQL.
- Private contest hosting has a fee.
- AI use is prohibited in rated contests.
Who it suits
DMOJ may suit people practicing competitive programming, organizers hosting public contests, and educational organizations exploring private contest hosting. Self-hosters should note the stated MySQL database constraint.
Verdict
DMOJ combines a contest platform, problem archive, and flexible judging tools. Its stated restrictions on AI use and the MySQL self-hosting note are key considerations.
Plans and prices
From DMOJ's own pricing page, checked 4 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| Public contest hosting | Free | Public contests hosted on DMOJ |
| Private contest hosting | Priced on request | For educational organizations; small fee, amount not stated |
The facts
Each one read from DMOJ's own pages, with the date it was checked.
What it does
- Audience
- DMOJ offers free public contest hosting and says educational organizations can contact it about hosting private contests for a small fee.checked 4 Oct 2026
- Authentication and access
- The platform supports OAuth login with Google, Facebook, and GitHub, two-factor authentication, and fine-grained staff permissions.checked 4 Oct 2026
- Contest formats
- The contest system supports ICPC, IOI, AtCoder, and ECOO formats, along with system testing, hidden scoreboards, and virtual participation.checked 4 Oct 2026
- Contests
- DMOJ runs the DMOJ Monthly Open Programming Competition for people interested in competitive programming.checked 4 Oct 2026
- 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.checked 4 Oct 2026
- Plagiarism integration
- The contest system integrates with Stanford MOSS for plagiarism checking.checked 4 Oct 2026
- Problem archive
- The site hosts problems from past CCC, CCO, COCI, IOI, and JOI competitions, as well as other sources.checked 4 Oct 2026
- Problem statements
- Problem statements support Markdown, LaTeX math and figures, syntax highlighting, PDF generation, and built-in editorials.checked 4 Oct 2026
- Purpose
- DMOJ is a modern contest platform and archive of programming problems, and is entirely open source.checked 4 Oct 2026
- Security reporting
- DMOJ asks researchers to send potential security issues privately for responsible disclosure before making them public.checked 4 Oct 2026
- Self-hosting
- The maker provides documentation for installing the DMOJ site and judge.checked 4 Oct 2026
- Self-hosting requirement
- The installation guide says the site is tested to work with MySQL and is unlikely to work with other databases.checked 4 Oct 2026
- Support
- The site asks users with questions about hosting contests to contact a moderator.checked 4 Oct 2026
- Use restrictions
- DMOJ says AI use is prohibited in rated contests and use of its judging resources for AI training is prohibited.checked 4 Oct 2026
The full review of DMOJ
DMOJ is an open-source platform for programming contests, problem practice, and automated judging. It suits competitive programmers and educational organizations that need contest infrastructure; casual learners seeking a guided course may find its organizer-focused capabilities excessive.
Overview
DMOJ combines an archive of competition problems with public contest hosting and programming autograding. Its archive draws on past CCC, CCO, COCI, IOI, and JOI competitions, among other sources, and the platform runs a Monthly Open Programming Competition. That makes it a useful home for both practice and competitive events rather than a course-led learning product.
The breadth is its defining strength: contest formats, judging behavior, and problem statements can all accommodate demanding programming tasks. That flexibility is most valuable to organizers and serious competitors; learners who want a tightly guided curriculum may prefer a more instructional service.
Key features
Contest formats and judging
Organizers can use ICPC, IOI, AtCoder, or ECOO formats, with system testing, hidden scoreboards, and virtual participation. Interactive and signature-graded tasks, runtime data generators, custom output validators, and per-language resource limits support problems beyond ordinary input-output grading. Scaling to hundreds of judging servers gives large events room to grow, while Stanford MOSS integration adds plagiarism checking. DMOJ also states that AI use is prohibited in rated contests and that judging resources may not be used to train AI.
Problem writing and access controls
Statements support Markdown, LaTeX math and figures, syntax highlighting, PDF generation, and built-in editorials. OAuth login through Google, Facebook, and GitHub, two-factor authentication, and fine-grained staff permissions give organizers useful access controls. DMOJ asks researchers to report potential security issues privately before public disclosure.
Hosting and support
DMOJ provides documentation for installing the site and judge, but its installation guide says the system is tested with MySQL and is unlikely to work with other databases. That is a material constraint for teams with an existing stack built around a different database. Users with contest-hosting questions are directed to contact a moderator.
Pricing
DMOJ is open source and offers public contest hosting for free. That is the straightforward choice for organizers whose contests can be public. Educational organizations can ask about private contest hosting for a small fee; the amount is custom pricing, so it is not possible to budget from a published rate. Self-hosting avoids reliance on public contest hosting but requires installation and the MySQL-compatible setup described above.
Platforms
DMOJ supports web use and lists API, Linux, Windows, and self-hosted platforms. The self-hosted option is especially relevant to organizations wanting to operate their own contest environment, subject to the MySQL requirement.
Who it's for
DMOJ is a strong fit for competitive programmers who want a substantial archive and recurring contests, and for educational organizations that need configurable judging or private contest hosting. It is less suited to learners primarily seeking guided lessons or organizers unwilling to work within its database constraint when self-hosting.
Pros and cons
- Pros: The archive spans several established competitions, and public contest hosting costs nothing.
- Pros: Multiple contest formats, advanced judging options, and MOSS integration give organizers substantial control over assessments.
- Pros: Rich statement tools and fine-grained staff permissions support both problem authors and contest teams.
- Cons: Self-hosting is a poor fit for teams that need a database other than MySQL.
- Cons: Private contest hosting has custom pricing, so educational organizations must inquire before comparing costs.
- Cons: The stated restrictions on AI use in rated contests and on AI training with judging resources rule out those uses.
Alternatives
For a broader browse of services in this category, see Coding Challenge Platforms and Automated Grading Software.
- CodeSignal is worth considering when individuals want practice-based learning, personalized skills paths, and a built-in tutor; its Individuals plan is free.
- CSSBattle is an alternative for readers seeking a free web-based CSS battle format.
- Edabit suits readers who want free web challenges, with all challenges completable at no cost.
- Eolymp is another option for problem databases, educational materials, competitions, and automatic solution testing, with free services and a free trial on its paid offering.
- HackerEarth Assessments may fit teams assessing candidates, with a free tier that includes five test invites, three interview invites, and two admins; unused invites do not carry over.
- AtCoder is a simpler choice for free contest participation and browser-based source-code execution.
- beecrowd may suit educators wanting an individual academic tier with one active subject, up to 20 students, and more than 2,500 programming challenges.
- Codeforces is another free option for open contest participation.
Verdict
Choose DMOJ if you need a free, open-source contest platform with serious judging flexibility, a competition-backed problem archive, and public hosting. Look elsewhere if you need guided instruction, cannot accept the MySQL constraint for self-hosting, or require AI use in rated contests.
Getting started
- Visit https://dmoj.ca/ to access the platform.
- Use OAuth login with Google, Facebook, or GitHub, or use the platform's two-factor authentication options.
- Join public contests or explore the programming problem archive.
- Contact a moderator with questions about hosting contests.
- Follow the documentation to install the site and judge if self-hosting; the site is tested with MySQL.
Limits worth knowing
Public contest hosting is free. Private hosting for educational organizations carries a small fee, and the self-hosting guide says the site is tested with MySQL and is unlikely to work with other databases.
Questions
Is DMOJ free?
Public contest hosting is listed as free. Educational organizations can contact DMOJ about private hosting for a small fee.
Is DMOJ open source?
Yes. DMOJ is entirely open source.
What contest formats does it support?
The contest system supports ICPC, IOI, AtCoder, and ECOO formats, as well as system testing, hidden scoreboards, and virtual participation.
Can organizations host private contests?
Educational organizations can contact DMOJ about private contest hosting for a small fee.
Can DMOJ be self-hosted?
Yes. Documentation covers installing the DMOJ site and judge. The installation guide says the site is tested with MySQL and is unlikely to work with other databases.
Does DMOJ integrate with plagiarism checking?
Yes. The contest system integrates with Stanford MOSS for plagiarism checking.
Alternatives to DMOJ
- 1

CodeSignal
Free planAndroidiOSWebAPI8.2From $24.99 a month - 2

HackerEarth Assessments
Free planAndroidiOSWebAPI8.2From $99 a month - 3
CodeChef IDE
Free planWebAPI7.4From $124 a year - 4

HackerRank
WebAPImacOSWindows7.4From $165 a month - 5

Codility
WebAPImacOSWindows7.3From $1,200 a year - 6
CSSBattle
Free planWeb6.7From $4.90 a month