IOCCC Returns: Human C Masters Still Outsmart AI in Code Obfuscation
After a four-year hiatus, the International Obfuscated C Code Contest (IOCCC) made a triumphant return this year, marking its comeback with an unprecedented 23 winning entries. This record number of accolades was a testament to the unusually high quality of submissions, showcasing the extraordinary mastery of the C language by programmers globally. Among the standout winners were a program that ingeniously used invisible Unicode characters to print a complete salmon recipe, and another that memorably “rickrolled” the judges with an 8-bit music and graphic port meticulously recreated from the Atari 2600.
Judges, including contest founder Landon Curt Noll, revealed that they had experimented with Large Language Models (LLMs) to analyze the submitted code. However, the results from these AI models were mixed, and ultimately, they were not employed in the final judging process. The judges underscored the enduring capacity of human programmers to craft code far exceeding the current capabilities of artificial intelligence. A striking example of this was a 750-byte LLM inference engine developed by one of the winners, a feat that Noll believes no current AI model could replicate. The source code for all winning entries, including the infamous “Rickroll,” is now publicly available on a dedicated GitHub repository, with the IOCCC slated to return in December 2025. As Noll observed, “Every contest there’s new stuff that I didn’t know you could do with C that people show that they can do!”
This year’s event also saw the revival of a 40-year-old tradition: a live announcement of the winners. This harks back to the 1980s, when winners were unveiled at a special session of the Usenix conference, often immediately following a presentation on the latest BSD release. Noll humorously recalled those early days, where he presented results by “printing out stuff on transparencies and using an overhead projector,” a stark contrast to today’s digital projections. The contest organizers have since modernized their infrastructure, now offering videos demonstrating the often bizarre and brilliant output of the compiled winning entries. Noll, with the help of David McInnis, orchestrated an elaborate awards ceremony in 2025, featuring multiple video and audio feeds and original music, ensuring each winning entry received its deserved spotlight.
The extended four-year break, Noll believes, inadvertently provided contestants with more time to refine their submissions, leading to the surge in high-quality entries. While past contests typically awarded 12 to 15 prizes, this year’s 23 winners surpassed all previous records. The sheer volume of exceptional entries meant there was no single “Best of Show” or “Grand Prize” winner, as so many were deemed worthy of top honors.
Regarding the impact of AI, Leonid A. Broukhis, a two-time IOCCC winner and long-time judge, noted that the hiatus allowed them to test LLMs for code analysis. While some models could vaguely infer the purpose of certain entries based on overall structure or mathematical logic, others were “completely clueless.” Noll explicitly stated that LLMs were not used in the judging, nor did he recommend their use for crafting future entries. He cautioned that AI-generated code for such a nuanced contest would likely be “garbage,” often failing to compile or resembling C in appearance but not in functionality. Noll, reflecting on his 40 years of judging, praised human programmers as “masters of the C language,” capable of immense effort and skill in condensing complex ideas into tiny, obfuscated chunks. While LLMs might eventually serve a purpose for future entrants—perhaps to test if their code is truly incomprehensible to an AI—Noll highlighted that the human element remains paramount.
The infamous Rickroll entry, submitted by programmer Vince Weaver, was a highlight. The judges described their baffled process of deciphering the code, which involved massive constant declarations, a forked child process, and strategic delays, before realizing they had fallen victim to the decades-old internet prank. The program was a rough port of an Atari 2600 version, complete with 8-bit music and graphics. Another astonishing entry came from legendary obfuscated C programmer Yusuke Endoh, whose program displayed beautiful ASCII animations of spinning objects, demonstrating the real-world physics of a rotating rigid body. Endoh even cleverly embedded the image of a spinning top within the whitespace of his heavily obfuscated source code. Adrian Cable, in addition to his LLM inference engine, submitted a second prize-winning entry: a seemingly innocuous 15-line program. This code, featuring a misleading variable declaration (unsigned int *salmon = U" is very yummy";
), magically printed a full grilled salmon recipe. The trick lay in invisible Unicode characters that formed additional lines of code, cleverly hidden from standard text editors, along with a baffling, never-executed decoy for
loop. This ingenious submission earned the contest’s “Murky Waters” prize.
Looking ahead, the special GitHub repository now hosts source code from every IOCCC since 1984, making the history of obfuscated C readily accessible. Future plans include short videos showcasing past winners, updates to the entry packaging tools, and improvements to the contest’s server infrastructure. The next IOCCC registration period is anticipated to open in December 2025, with organizers planning to revise and refine the contest rules based on their recent judging experiences. For now, the judges, having dedicated thousands of hours to the project since December 2020, are taking a well-deserved break, looking forward to unplugging and enjoying the fruits of the contestants’ amazing work.