What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
The International Obfuscated C Code Contest (IOCCC) celebrates C programs that are deliberately difficult to understand while remaining useful, surprising, or entertaining. Its official archive is also a hands-on collection of winning programs: browse entries by year, read what each one does, and use the authors’ notes and build instructions to explore the code.
What is the International Obfuscated C Code Contest?
IOCCC is both a programming contest and a public archive of creatively obfuscated C programs. The goal is not simply to make code unreadable: winning entries pair unusual or intricate C with a program that does something worth discovering. The official site links to the latest winners, all winning entries, and past winners, with contest history reaching back to 1984. Visit the official IOCCC site.
The range is part of the appeal. Winners have included games, utilities, emulators, visual experiments, and more. For example, the archive lists a QR encoder and an ASCII-to-DNA transcoder in 2014, a handwriting/Braille entry and a calculator in 2015, and a Wordle hard-mode solver and an LLM inference engine in 2024. These are examples of the contest’s variety, not a formula entrants should copy.
Where can you find winning entries?
Start with the official IOCCC year archive to choose a contest year and browse its entries and award categories. Individual winner pages are the most useful place to begin: the 2025 contest page says they include information needed to compile and run the winning programs, along with author remarks that can explain the idea behind an entry. The page also links to a compressed tarball of the winning source. See the 2025 contest winners.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Fix the driver behind crashes, sound loss and screen glitches3Clear out junk files and repair common Windows errors#1 Best Overall
To make the archive manageable, pick an entry by what it produces or by the year, then read its page before opening the source. The description and remarks can clarify intended behavior; the build notes can identify requirements or steps that are easy to miss when approaching an unfamiliar program cold.
How do you compile and run an IOCCC entry?
There is no single command that applies to every entry. Build and runtime details can differ, so follow the instructions on the individual winner page rather than assuming that an old entry uses today’s compiler defaults or tools. For the 2025 winners, the official page directs readers to entry pages for compilation and runtime information and provides the source archive as another way to obtain the code. Open the 2025 winner pages and source link.
- Choose an entry in the official year archive and open its individual page.
- Read the page and author remarks for the program’s purpose, prerequisites, and compile/run instructions.
- Obtain the source from that entry page or the relevant official source archive.
- Use the entry’s documented build and run steps; if they fail, check its stated environment and dependencies before changing the code.
How do you enter the IOCCC?
Use the live contest rules and official toolkit for the cycle you intend to enter. Do not copy an earlier cycle’s packaging instructions or dates: IOCCC rules are cycle-specific, and the official guidelines explicitly warn that rules change from year to year.
The archived rules for the 28th contest, version 28.30 dated 2025-03-03, applied to a submission window from 2024-12-29 through 2025-06-05 UTC, with uploads opening 2025-03-05. Those dates describe that completed cycle only. For that cycle, the submission included prog.c, a non-empty Makefile, and non-empty remarks.md; the resulting C file was checked with the then-current iocccsize(1), alongside other package and tool checks. These are historical details, not requirements for a later contest. Read the archived 28th IOCCC rules.
The 2025 contest page identifies the 29th IOCCC and points to its winning entries, but it should not be treated as a source of requirements or dates for a future cycle. Check the current official contest page, rules, and toolkit before preparing a submission. Check the official contest page.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.What makes a strong IOCCC idea?
Past winners are valuable study material: they show the range of programs and approaches that have succeeded. But imitation is risky. The official guidelines caution that an approach that was novel in one year may be considered old in another, and that some previous winning entries may not satisfy current rules. Study past work to understand the contest’s breadth, then develop an idea that stands on its own and verify it against the rules for your cycle. Read the official IOCCC guidelines.
The guidelines are advice, not a substitute for the rules. They describe development and testing aids—including code generators, static analysis, runtime analysis, machine-learning tools, and language models—as possible aids to entrants. Whether a submission meets the contest’s requirements is determined by that cycle’s rules and checks.
Quick Recap
Best Value
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.
Free tools Windows power users keep installed
One-click scans. No signup required.

