About Infinite Mario Bros
Infinite Mario Bros started as a Java applet written by Markus “Notch” Persson in 2008 — a couple of years before he created Minecraft. Its trick was simple and brilliant: instead of fixed levels, the game builds a fresh stage every time you enter one, stitching together hills, pipes, gaps, cannons and enemy groups from a set of rules.
The game became famous far beyond its fan audience. Researchers used its level generator for the Mario AI Competition, where programs competed to play (and later to design) levels, and the code base has appeared in countless papers on procedural content generation.
This version is Robert Kleffner's HTML5 port, which rebuilt the Java code in JavaScript and Canvas so it runs in any modern browser. Press S on the title screen, pick a stage on the world map and see what the generator has in store. The background music of the port relied on old browser features and is disabled, but all sound effects work.
Controls
| Input | Action |
|---|---|
| ← → | Walk |
| ↓ | Duck |
| S | Jump / start the game |
| A | Run and throw fireballs |
Features
- Every level is generated on the fly, so no two runs are the same
- Overworld map with castles, underground and athletic stages
- Super Mario World-style graphics with Mario, Luigi, Bowser and friends on the title screen
- Difficulty rises as you clear more of the map
Tips
- Press S on the title screen to start, then use the arrow keys and S on the world map to choose a stage.
- Holding A to run makes long gaps much easier — just let go before landing on narrow platforms.
- Bullet Bill cannons fire on a rhythm; wait for a shot to pass, then jump over the cannon.
- Because levels are random, a stage that feels impossible is usually just a bad roll — try a different path on the map.


