EVERYTHING XIAOMI
Get listed
DMOJ logo

DMOJ

DMOJ is an open-source platform for programming contests and an archive of programming problems.

Place
#8 of 30
Score
6.5

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.

All about pricing
PlanPriceWhat it gives you
Public contest hostingFreePublic contests hosted on DMOJ
Private contest hostingPriced on requestFor 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

  1. Visit https://dmoj.ca/ to access the platform.
  2. Use OAuth login with Google, Facebook, or GitHub, or use the platform's two-factor authentication options.
  3. Join public contests or explore the programming problem archive.
  4. Contact a moderator with questions about hosting contests.
  5. 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

All alternatives
  1. 1CodeSignal logo

    CodeSignal

    Free planAndroidiOSWebAPI
    8.2From $24.99 a month
  2. 2HackerEarth Assessments logo

    HackerEarth Assessments

    Free planAndroidiOSWebAPI
    8.2From $99 a month
  3. 3

    CodeChef IDE

    Free planWebAPI
    7.4From $124 a year
  4. 4HackerRank logo

    HackerRank

    WebAPImacOSWindows
    7.4From $165 a month
  5. 5Codility logo

    Codility

    WebAPImacOSWindows
    7.3From $1,200 a year
  6. 6

    CSSBattle

    Free planWeb
    6.7From $4.90 a month