It’s nearly a week since I’ve played the web version of Angry Birds by Rovio. This version is obviously designed for Google Chrome, although it’s not Chrome-exclusive, browsers that supports HTML5 features like Local Storage, Canvas and WebGL would be able to run the game. I believe that this is a huge leap in terms of web technology. It gives us an excellent full-featured(?) game that doesn’t use third-party plugins such as Adobe Flash, Shockwave or Java applet.
I’ve also seen huge amount of websites that brags about the game was hacked on the day it was released. I wasn’t surprised at all since the data on the Local Storage is readily viewable by anyone especially those who uses Chrome by using its built-in Developer Tools.

To use these, simply go to the Chrome Angry Birds site at http://chrome.angrybirds.com, then type the following javascript codes to the address bar. Anyway, here are some of the cheats that you’ll probably use:
- Unlock all levels. The most famous cheat. This is the cheat that you will always stumble on the web. Will unlock all the levels including Chrome Dimension.
[javascript]javascript: for(i=0;i<70;i++) { localStorage.setItem(‘level_star_’+i,’3’);}[/javascript]Opposite:
[javascript]javascript: for(i=0;i<70;i++) { localStorage.setItem(‘level_star_’+i,’-1′);}[/javascript]
- Collect all the chrome balls. What this doesn’t do is unlock the levels in Chrome Dimension. If you want to unlock the levels there, use the cheat above. The problem when using the cheat above is that even if the Chrome Dimension levels are all unlocked, the Chrome balls will still appear on their respective levels. In order to flag them as collected, use the code below.
[javascript]javascript: for(i=0;i<7;i++) { localStorage.setItem(‘chrome_ball_’+i,’collected’);}[/javascript]Opposite:
[javascript]javascript: for(i=0;i<7;i++) { localStorage.setItem(‘chrome_ball_’+i,’not’);}[/javascript]
- Change highscore. What this code does is change your highscore to a random number between 50,000 to 100,000. Feel free to modify to suit your bragging rights.
[javascript]javascript: for(i=0;i<70;i++) { localStorage.setItem(‘level_score_’+i,Math.floor(Math.random()*50000)+50000);}[/javascript]Opposite:
[javascript]javascript: for(i=0;i<70;i++) { localStorage.setItem(‘level_score_’+i,0);}[/javascript]
- Mark Cutscenes as viewed. When this has been enabled, cutscenes will be marked as viewed, thus, you have the power to skip them.
[javascript]javascript: for(i=0;i<4;i++) { localStorage.setItem(‘cutscene_’+i,’shown’);}[/javascript]Opposite:
[javascript]javascript: for(i=0;i<4;i++) { localStorage.setItem(‘cutscene_’+i,’waiting’);}[/javascript]
- Mark Tutorials as viewed. When enabled, tutorials (instructions) won’t show up anymore. Use the opposite to show tutorials.
[javascript]javascript: for(i=0;i<5;i++) { localStorage.setItem(‘tutorial’+i,’shown’); }[/javascript]Opposite:
[javascript]javascript: for(i=0;i<5;i++) { localStorage.setItem(‘tutorial’+i,’waiting’); }[/javascript]
I’ve written these without checking for typos, so feel free to tell me if you have corrections regarding the codes.