One of the most exciting challenges available to any software developer is that of writing brilliantly working code that’s so obtuse, so indecipherable, and opaque, that even its own author would struggle to grasp its inner workings after returning to it a year later. While for some this is just how they naturally write code, for others it’s part of the International Obfuscated C Coding Challenge (IOCCC), with 2025’s entrants once again showing their mettle.
The IOCCC judges entries among a range of categories, as it can be hard to otherwise quantify what is the ‘best’ entry, with ground rules limiting what the entry can entail. Generally as long as your code adheres to the C11 standard with a source size of 4,993 bytes or less and final binary size of under 2,503, is accompanied by a GNU-style Makefile and doesn’t turn a judge’s computer into a raging inferno — it should qualify.
Among the winning entries we got fun ones like ‘Most likely to shock’ by [Yusuke Endoh] which generates a Lichtenberg figure in ASCII in the terminal. There are also quite practical ones, such as the ‘Best real emulator’ winner by [Nick Craig-Wood], whose entry is a functional Game Boy emulator. Although not full-featured, it can play a range of real GB ROMs, just do not expect to get any sounds or fancy terminal-based graphics.

Wryly observing that the type of person who can parse those rules is just the type of person to write obfuscated code. Call it a preselector, I suppose.
Reminds me of the fun Beagle Brothers 2-line code contests for the Apple ][
Beagle Brothers software and instructions/comics were the best!!!
I wish there were a YouTube channel reviewing it!
Or old Nibble Magazine’s one-liners. So much fun.
There is a chance that they simply sent examples from their work.
Shrounded C was the original way of distributing non-open source applications for UNIX. A utility took the normal source and rendered it unreadable (or, at least, “a challenge to read”).
I’m not sure the artwork of the story summary depicting someone with their head shoved into an access hatch is quite accurate. I believe the access hatch is incorrectly drawn 180 degrees from its correct position….
https://www.ioccc.org/2025/cable/index.html
One instruction set computer virtual machine in less than 400 bytes of obfuscated c! Note also the link to the Eternal software initiative github page with llvm toolchain and Linux image. This would be worth a Hackaday article on its own!
It is quite amazing to see that and I did like the lightning bolt shape of the other one.
Some of the closed GitHub issues show remarkable restraint too. Code to this level in so few bytes are absolutely ‘things of wonder’.
Code that compiles to HCF in a non-obvious way should definitely be allowed. Bonus if you trigger the HCF bug/feature in the judge’s compiler rather than having it exist in your own compiled code.
It’s a skill to avoid that, so why is there a skillfest to do that?
isn’t ASM obscure enough?
Or might as well write in Rust to make it less readable.
There should be such a contest for Perl…