Reinforced membrane.png Locked
This article has been protected due to vandalism.

If you wish to add new information, remove old information, or modify existing information, leave a detailed message on the talk page about what you wish to change.

For cheats on Cookie Clicker Classic, please refer to Cheating (Cookie Clicker Classic).

Warning: Do not perform if you want to enjoy the game. If you would like to experiment around with the game mechanics or just give yourself a boost, here are some cheats you can try. Almost all require a bit of interaction with technical stuff. However, all the steps are listed and should not be too hard. It is recommended that you export your save and paste it onto a file before cheating in case of undesirable results.

For the sake of organization, all scripts will follow this format:

  • For scripts with "[Expand]", click it to see the full script.
  • <input> - replace the entire underlined part (including < and >) with the desired input.
  • If <input> is in quotes, leave them be.
  • If <input> isn't in quotes, but a script is still not working, put input in quotes.
  • Cheats are case-sensitive, so don't replace uppercase letters with lowercase.


*game.unlock(<neuromancy>) = wrong
*Game.Unlock("Neuromancy") = right

Additional helpful information:

  • 1 millisecond is 1/1000th of a second, or 0.001 seconds.
  • FPS stands for frames per second, which is the number of calculations done in a second. The default is 30 fps, but you can change it by using this.

Opening the Browser Console

These are the instructions to bring up the console in different browsers. The console is where you enter the code into for the cheats to take effect.


Microsoft Windows: Either press CTRL + SHIFT + J or press F12 to open the Developer Tools

Mac OS: Press + ALT + J  then click on the "Console" tab if not already done. You can also right-click and select "Inspect element" Then go to the Console bar.


Microsoft Windows: Press F12 or CTRL + SHIFT + K to open the console.

Mac OS: Press + OPTION + K to open the console. Click on the "scratchpad" icon on the right. After entering the desired code, press CTRL + R to execute it.

Microsoft Windows Alternate: Press CTRL + SHIFT + K to open the console. Make sure Console is selected at the top left, and that JS is selected below it. At the bottom of the console, you will see >>, indicating that this is where you enter your code. Enter what you need, and hit 'enter' to run it. The results should be displayed. Note that a return of 'undefined' does not mean that it failed to execute, just that there was nothing to display back to the user.

Internet Explorer 9+

Microsoft Windows: Press F12 to open the developer tools. Click the "Console" tab.


Microsoft Windows: Press CTRL + SHIFT + I to open Dragonfly. Click on the "Console" tab.


Mac OS: Press + OPTION + C to open the Error Console. (Make sure you check the "Show Develop menu in menu bar" box in the "Advanced" tab of the "Preferences" menu first.)


Type "javascript:[your code here]" on the address bar, then press Enter.

Using a Cheat Interface

There are three ways to enable an interface. Choose the one that works the best.

  • Create a new bookmark.
  • In the "URL" box, copy/paste the following code. (The link to the source code can be found on the wiki page of the corresponding interface.)

javascript:(function(){var script=document.createElement('script');script.setAttribute('src','<source link>');document.body.appendChild(script);}());

  • Name it whatever you like.
  • Now, whenever you are in the game, simply click on this bookmark to enable the cheat interface.
Developer Console
  • Open your browser console. For instructions, look above.
  • Copy all the source code from the link provided in the cheat interface's wiki page.
  • Paste all the code in your browser console.
  • Press Enter.
  • There should not be any error if successfully installed.
  • Open your Monkey.
  • Add a new UserScript.
  • Copy/paste the following code into your Monkey editor. (The link to the source code can be found on the wiki page of the corresponding interface.)

// ==UserScript== // @name CheatInterface // @namespace Cookie // @include // @version 1 // @grant none // ==/UserScript== var oldOnload = window.onload; window.onload = function () { oldOnload(); var script = document.createElement('script'); script.setAttribute('src', '<source link>'); document.body.appendChild(script); }

  • Save.
  • Go to your newly created UserScript.
  • Open the parameters tab.
  • Add a new user include.
  • Copy/paste the game URL. (
  • Reboot your browser.
  • Now, whenever you open Cookie Clicker, the cheat interface will automatically be enabled.

Save Editing

The most simple cheat you can do is import a save. You can make your own save codes by editing an exported save file. If you wish to do that, here are the instructions:

  • Export and copy your save.
  • At the end of the code, delete the "%21END%21" and replace every "%3D" with a equal sign (=).
  • Go to base64 converter and paste the modified save there.
  • Decode it with UTF-8.
  • Edit the save. (For information about formatting, refer below.)
  • Go to base64 converter and paste your new save.
  • Encode it with UTF-8.
  • At the end of the resulting code, replace every equal sign (=) with "%3D" and append "%21END%21".
  • Import your save to the game.
Save Format

The decoded save follows a certain format, take this save for example:


The vertical bars divide the save into sections. Following are the formats of each individual section.

  • Version number
  • Reserved for future use
  • Unix timestamps

1381898487292;1380107853914;1381899592923 // 1381898487292 - session started // 1380107853914 - legacy started // 1381899592923 - time this save was created // To convert it into a readable format, divide it by 1000 // Put the result in this converter and click "Submit" // 1381898487.292 = Wed, 16 Oct 2013 04:41:27 GMT // 1380107853.914 = Wed, 25 Sep 2013 11:17:33 GMT // 1381899592.923 = Wed, 16 Oct 2013 04:59:52 GMT

  • Preferences (0 means OFF, 1 means ON)

011101 // 0 - particles // 1 - numbers // 1 - automatically save // 1 - offline mode (0 means offline, 1 means online) // 0 - milk // 1 - fancy graphics

  • Cookie stats

19810703888477384;232154241051907840;4218;2120;24564619087288988;9632;-1;-1;45326046739823870;0;11;107852;0;-1;2;207;1656259545394620;175 // 19810703888477384 - Cookies in bank // 232154241051907840 - Cookies baked (this session) // 4218 - Big cookie clicks // 2120 - Golden cookie clicks (all time) // 24564619087288988 - Hand-made cookies // 9632 - Missed golden cookies (removed feature) // -1 - Background color (never implemented) // -1 - Milk type (never implemented) // 45326046739823870 - Cookies forfeited by resetting // 0 - Grandmatriarchs status (0=Appeased, 1=Awoken, 2=Displeased, 3=Angered) // 11 - Elder Pledges bought // 107852 - Elder Pledge time left (minutes * 1800) // 0 - Next upgrade to research // -1 - Research time left (minutes * 1800) // 2 - Number of resets // 207 - Golden cookie clicks (this session) // 1656259545394620 - Cookies withered (sucked by wrinkler) // 175 - Wrinklers popped

  • Buildings

219,220,25128184169839,0;216,216,64729416294516,0;180,180,7033459448,0;168,169,22279979110,0;159,159,75346744514,0;150,150,182832240409,0;139,140,651206881531,0;143,143,11123847712297,0;121,122,120436061607417,0;112,112,1119454662710064,0; // Each building has its own section, separated by semicolons // The pattern repeats, so I will only use Cursor as an example // In this case, the section for Cursor is 219,220,25128184169839,0 // 219 - amount owned // 220 - amount bought (include ones that were sold) // 25128184169839 - total cookies produced // 0 - specialUnlocked (not yet implemented, dungeon related)

  • Upgrades

4503599627370495;4503599627370495;4503599627370495;4503573749070335;2814337448673279;171798691455 // Convert each number separated by semicolons with this converter // Take off the first and last 1 of each result and reverse the order // Separate every 2 digits with a space // 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 // 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 // 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 // 11 11 11 11 00 11 11 00 00 10 00 11 00 11 11 11 00 11 11 11 11 11 11 11 11 // 11 11 11 11 11 11 11 11 11 00 11 11 11 11 11 11 11 11 00 11 11 11 11 11 00 // 11 11 11 00 11 11 11 11 11 11 11 11 11 11 11 11 11 00 // Each 2 digits represents an upgrade (order shown at bottom of this page) // The first digit is whether the upgrade is unlocked (requirements met) // The second digit is whether the upgrade is bought

  • Achievements

4503599627370495;2313303743266815;2047 // Do the same procedure as the Upgrades above, except for separation // 11111111111111111111111111111111111111111111111111 // 11111111111111111111011111111111111011111101100000 // 111111111 // Each digit represents an achievement (order shown at bottom of this page)

Upon finishing the save editing, the following tools may be helpful in returning the save to its original format:

"Cheated cookies taste awful" Achievement

There are only two in-game events that award the achievement "Cheated cookies taste awful".

  • Setting Cookies in bank to be greater than Cookies baked all time. (The amount may need to be adjusted depending on the CpS.)
Game.cookies = Game.cookiesEarned + <amount>;

You can also remove the achievement by typing this line in the console:

Game.Achievements["Cheated cookies taste awful"].won=0

Debug Cheats

These are cheats built into the game itself to aid in debugging and testing the game.

Debug Upgrades

As of V2, debug upgrades no longer appear in the store. However, they can still be gotten with the unlock and buy cheat.

Debug upgrades come in the form of upgrades that can only be enabled by using cheats. To enable them, refer to upgrades section below. There are currently 10 debug upgrades available:

  • Ultrascience= All new researches take only 5 seconds to complete.
  • Gold hoard= All Golden Cookies appear every 0.6 seconds after the current or next golden cookie.
  • Neuromancy= Unlocks every available upgrade (including the debug upgrades) and allows you to toggle them on or off by clicking on their icons in the Stats menu. If Neuromancy itself is clicked, it goes back to the store.
  • Perfect idling= Keeps producing cookies that you would have gained through CpS after you closed the game and tells you the amount of cookies it produced while it was closed. Remains active even after closing the browser.
  • Wrinkler doormat= Wrinklers spawn 1000 times more frequently.
  • Reindeer season= Reindeers spawn faster (about two minutes per reindeer).
  • Eternal seasons= Unlocks Season Switcher without purchasing the heavenly upgrade. Seasons do not have a countdown timer.
  • Magic shenanigans= Cookie production multiplied by 1000.
  • Occult obstruction= Cookie production reduced to 0.
  • Glucose-charged air= Sugar lumps coalesce a whole lot faster.
  • Turbo-charged soilGarden plants grow every second. Garden seeds are free to plant. You can switch soils at any time.
Ruin The Fun

The message shown after entering Game.RuinTheFun();

Ruin The Fun is a function that instantly gives you all the upgrades (including the debug upgrades and starting Grandmapocalypse), all the achievements, and 1 nonillion cookies. To execute this function, simply use:

Sesame Menu

As of V2, the game contains a debugging menu with a multitude of useful features, such as spawning Golden Cookies with various effects. To unlock it, you can put saysopensesame at the end of your bakery name. Alternatively, you can use the following code:


Defining shortcuts

If you find yourself constantly typing or copypasting cheats or commands, you may want to consider defining a function. So instead of typing 3 lines of code, you could also type a single word to use the exact same cheat. A function is defined as follows:

 function <name>()
     <code here>(code here)
<code here>Now you only need to type the function name, followed by parentheses '()' to access a command or multiple commands more quickly. </code>

<code here>You can also pass an argument to a function like so: </code>
 <code here>function <name>(<variable>)
<code here>This example code will trigger a click frenzy for 60 seconds when typing gimmeClickFrenzy(60): </code>
 <code here>function gimmeClickFrenzy(time)
     Game.clickFrenzy = Game.fps * time;
     Game.recalculateGains = 1;
     Game.Popup('Click frenzy! Clicking power x777 for ' + time + ' seconds!');
<code here>You can also pass multiple arguments to a function: </code>
 <code here>function alertMe(text, text2)

Cookies Related

Gaining Cookies

To change the amount of cookies in bank, use:

Game.cookies = <amount>;

To add more cookies to the existing amount in bank, use:

Game.Earn(<amount adding>);
Removing Cookies

To remove a specific amount of cookies, use:

Game.cookies -= <amount removing>;
Infinity Cookies

To make it look like you have infinity amount of cookies but you won't really, use:

Game.cookies = NaN;

To actually obtain Infinity cookies, use:

Game.cookies = Infinity;

Beware: The number of cookies displayed above the big cookie will not change from infinity if you reset the game and/or change the number of cookies in your bank. To fix this, reset the displayed number using:

Game.cookies = 0;

Also, you can clear your cookies forever without gaining more using:

Game.cookies = -Infinity;
Spawning Custom Golden Cookies

var newShimmer=new Game.shimmer('golden',<force object type>,<nocount amount>); // <no count amount> default is 1 // <force object type> Default is 0, so it should look something like 0,1 newShimmer.dur=<duration>; // duration of the cookie Default is: Math.ceil(Math.random()*4+1);<cookie life>; // <cookie life> default is Math.ceil(Game.fps*newShimmer.dur); newShimmer.force='<effect type>'; // effect when clicked newShimmer.sizeMult=<size of the cookie>; // default size is: Math.random()*0.75+0.25;

Changing CpS

To change the CpS (will self-correct when new buildings/upgrades are bought), use: Game.cookiesPs = <CpS>; To make the effect stay until the page is refreshed, use:

Game.CalculateGains = function() { Game.cookiesPs = <CpS>; Game.computedMouseCps = Game.mouseCps(); Game.recalculateGains = 0; }; Game.recalculateGains = 1;

Auto-Click Big Cookie

To auto-click the big cookie at a set interval, use:

var autoClicker = setInterval(Game.ClickCookie, <milliseconds interval>);

To end this effect, use:

Faster Auto-Click

The auto-click cheat above can only click as fast as the CPU can handle. To produce an even faster effect, use:

var autoClicker = function(clicksAtOnce, repeatInterval) { var cheated = false; var intoTheAbyss = function() { if(!cheated) { cheated = true; for(var i = 0; i < clicksAtOnce; i++) { Game.ClickCookie(); Game.lastClick = 0; } cheated = false; }; }; return setInterval(intoTheAbyss, repeatInterval); }; autoClicker(<amount of clicks>, <milliseconds interval>);

Auto-Click Only During Click Frenzy

To enable auto-click only during the Click Frenzy, use:

setInterval(function() { if (Game.hasBuff('Click frenzy')) Game.ClickCookie(); }, <milliseconds interval>);


Holding the assigned key (~) repeatedly clicks the object under the mouse:

/** * Summary: Upon activation clicks element under mouse. * @param {number} [rate] - Timeout between clicks in milliseconds; Default: 500 * @author QtheConqueror */ function AutoClick(rate = 500) { if (window.attachEvent) { document.attachEvent("onmousemove", MouseMv); } else { document.addEventListener("mousemove", MouseMv, false); } document.addEventListener('keydown', KeyDown); /** * Summary: Listens for mouse movment and exports position to variables x & y. * @param {Event} e */ function MouseMv(e) { if (!e) e = window.event; if (typeof e.pageY == 'number') { x = e.pageX; y = e.pageY; } else { x = e.clientX; y = e.clientY; } } /** * Summary: Listens for keydown event * @param {Event} e */ function KeyDown(e) { if (e.type == 'keydown') { var char = e.key if (char == '`' || char == '~') { setTimeout(Click(x, y), rate); } } } /** * Summary: Clicks element at postions (x, y) on document. * @param {number} x - X coordinate of document element. * @param {number} y - Y coordinate of document element. */ function Click(x, y) { document.elementFromPoint(x, y).click(); } } setInterval(AutoClick(<milliseconds interval>), 10) // Set to listen every 10ms;

Avalible on Greasy Fork: AutoClick

Buildings Related

Prices Stay at Base Price

If you want all the prices to stay at base price despite amount owned, use:

Game.priceIncrease = 1;

All Buildings Are Free

If you want to make all buildings completely free, use:

Game.ObjectsById.forEach(function (e) { e.basePrice = 0; e.refresh(); }); Game.storeToRebuild = 1;

Refill Grimoire Magic
Game.Objects['Wizard tower'].minigame.magic = Infinity;
Refill Worship Swaps
Game.Objects['Temple'].minigame.swaps = 3;
Unlock all seeds on Farm as if Ruin The Fun was enabled;
Change Profits
Game.Objects['Bank'].minigame.profit = <amount>;
Upgrade Buildings (Sugar Lump)
Game.ObjectsById[<index>].level = <amount>; Game.recalculateGains=1;
Sacrifice Towers

for (var i in Game.Objects){ Game.Objects[i].sacrifice(1); }

Build N Buildings

If you want to build a custom number of buildings, N, use:


Golden/Wrath Cookies Related

Note that the Wrath Cookie counts as a golden cookie as far as the game coding goes, therefore the following scripts also apply on Wrath Cookies. If you want all the Wrath Cookies to behave like golden cookies (prevent Ruin and Clot), simply remove the "/*" and the "*/" in each script.

Spawn a Golden Cookie

(Working and Updated as of 11/28/17)

To spawn a golden cookie, use:

var newShimmer=new Game.shimmer("golden");

If you want to spawn a golden cookie that starts a cookie chain, add the following script in addition to the ones provided above:

Game.shimmer.chain = <stage>;

If you want to start the cookie chain at 6 cookies, use "1" as the stage. 66 cookies = "2", 666 cookies = "3", and so on.

Golden Cookies with No Delay

If you want the golden cookies to spawn one after another without delay, use:

setInterval(function() { Game.shimmer.wrath = 0; Game.shimmer.delay = 0; }, 1);

Get Golden Cookie Effects without a cookie

To give yourself a multiplier without a golden cookie, use:

var effectDurMod=1; Game.gainBuff('<effect>',Math.ceil(<seconds it lasts>*effectDurMod),<multiplier amount>);
Set Golden Cookie Clicks

If you just want to set the amount of golden cookies clicked, use:

Game.goldenClicks = <amount>;

If you want to earn the related achievements, use one of the auto-click's below.

Auto-Click Golden Cookies

If you want the golden cookies to be auto-clicked as soon as they appear, use:

setInterval(function() { Game.shimmers.forEach(function(shimmer) { if (shimmer.type == "golden") { shimmer.pop() } }) }, 500);

Alternatively, if you only want to click golden cookies, and not wrath cookies as they appear, use:

setInterval(function() { Game.shimmers.forEach(function(shimmer) { if(shimmer.type == "golden" && shimmer.wrath == 0) { shimmer.pop() } }) }, 500);

Auto-Spawn and Click Golden Cookies

If you want to automatically spawn and click a set amount of golden cookies instantaneously, use:

for (var i = 0; i < <amount>; i++) { (new Game.shimmer('golden',{noWrath:true})).pop(); }

To spawn an amount as well as increment the cookies clicked stat and reset the spawn timer, use:

for (var i = 0; i < <amount>;; i++) { var newShimmer = new Game.shimmer('golden',{noWrath:true}); newShimmer.spawnLead=1; newShimmer.pop(); }

If you want to automatically click all spawned cookies then spawn a cookie at set interval, use:

setInterval(function() { /*Game.shimmers.forEach(function(shimmer){shimmer.wrath = 0});*/ Game.shimmers.forEach(function(shimmer) { if(shimmer.type=="golden") { shimmer.pop(); } }); Game.shimmerTypes.golden.time = Game.shimmerTypes.golden.maxTime; }, <milliseconds interval>);


To produce a customized Frenzy effect, use:

var time = <seconds>; Game.frenzy = Game.fps * time; Game.frenzyPower = <multiplier>; Game.recalculateGains = 1; Game.Popup('Frenzy! Cookie production x' + Game.frenzyPower + ' for ' + time + ' seconds!');

Clicking Frenzy

To produce a customized Clicking Frenzy effect, use:

var time = <seconds>; Game.clickFrenzy = Game.fps * time; Game.recalculateGains = 1; Game.Popup('Click frenzy! Clicking power x777 for ' + time + ' seconds!');

Grandmapocalypse Related

Change Elder Pledge Time Left

If you want to change the time remained on the Elder Pledge, use:

Game.pledgeT = <minutes> * 60 * Game.fps;
Auto-Buy Elder Pledge

If you want to automatically buy Elder Pledge as it becomes available, use:

setInterval(function() { if (Game.UpgradesInStore.indexOf(Game.Upgrades["Elder Pledge"]) != -1) { Game.Upgrades["Elder Pledge"].buy(); } }, 500);

Auto-Click Wrinklers

If you want the wrinklers to be auto-clicked as a set interval (note, it must run three times to kill them):

var wrinklerClick= setInterval(function() { for (var i=0;i<10;i++) { if (Game.wrinklers[i].close==1) {Game.wrinklers[i].hp--} } }, <interval>);

or if you want an instant kill

var wrinklerClick = setInterval(function() { for (var i=0;i<12;i++) { if (Game.wrinklers[i].close==1) {Game.wrinklers[i].hp = 0} } }, 500);

or an even easier way to wipe them out

var noWrinkler = setInterval(Game.CollectWrinklers, 500);
Spawn All Wrinklers

If you want to instantly spawn all twelve wrinklers so you can get the bonus after letting them feed a while:

for (i = 0; i < Game.wrinklers.length; i++) { Game.wrinklers[i].phase = 1; }
Make All Wrinklers Shiny

If you want to make all currently existent wrinklers shiny:

for (i = 0; i < Game.wrinklers.length; i++) { Game.wrinklers[i].type = 1; }

Or, if you want to instantly spawn all twelve wrinklers and make them shiny:

for (i = 0; i < Game.wrinklers.length; i++) { Game.wrinklers[i].phase = Game.wrinklers[i].type = 1; }
Spam-Kill Wrinklers

If you want to kill Wrinklers quickly, use this command:

var noWrinkler = setInterval(function () { Game.CollectWrinklers(); for(i = 0; i < Game.wrinklers.length; i++) { Game.wrinklers[i].phase = 2; } }, 100);

If you want to stop spam-killing wrinklers:

Bingo Center

If you want to instantly unlock the next Bingo Center upgrade:

setInterval(function(){Game.researchT=0;}, 0);

Note: Does not unlock the Bingo Center if locked

Achievements Related

There are two ways to refer to an achievement: its ID and its name. You must type the name EXACTLY as it appears in game for these scripts to work, including capitalization. If you are concerned about typing the name wrong, copy it from the table at the bottom of this page, or just use the ID.

Unlocking an Achievement

If you want to unlock an achievement, use:



Unlocking All Achievements

If you want to unlock every single achievement, use:

Game.AchievementsById.forEach(function(e) { // if (e.hide != 3) Game.Win(; });

If you only want to unlock non-shadow achievements, remove the double slash (//);

Removing an Achievement

If you want to remove an achievement, use:

Game.Achievements[<name>].won = 0;


Game.AchievementsById[<ID>].won = 0;
Removing All Achievements

If you want to remove all the achievements, use:

Game.AchievementsById.forEach(function(e) { // if (e.hide == 3) e.won = 0; });

If you only want to remove shadow achievements, remove the double slash (//);

Note: Removing an achievement won't reduce your milk percentage.

Milk Progress

To Change your milk progress, use:

Game.milkProgress=<progress amount>;

Upgrades Related

Similar to achievements, upgrades can also be referred by either ID or name. A list of them can also be found at the bottom of this page.

Unlocking/Buying an Upgrade

If you want to unlock a single upgrade, use:




If you want to unlock AND buy an upgrade, use:



Unlocking/Buying All Upgrades

If you want to unlock all upgrades, use:

Game.UpgradesById.forEach(function(e) { Game.Unlock(;

If you want to enable all upgrades, use;

Game.UpgradesById.forEach(function(i) {if (i.bought === 0) { Game.cookies +=i.basePrice;; }})

If you want to unlock AND obtain all upgrades, use:

Game.UpgradesById.forEach(function(e) { if (e.bought === 0) e.earn(); });

Adding cursors:

Game.Objects['Cursor'].amount = <amount of cursors>;
Removing an Upgrade

If you want to remove an upgrade, use:

Game.Upgrades[<name>].bought = 0;


Game.UpgradesById[<ID>].bought = 0;
Free Upgrades

If you want to make all upgrades completely free, use:

Game.UpgradesById.forEach(function (e) { e.basePrice = 0; }); Game.upgradesToRebuild = 1;

Instant Research

If you want to make all researches instant, use:

setInterval(function() { Game.researchT = 0; }, 1);

Heavenly Chips Related

If you want to change the amount of heavenly chips temporarily, use:

Game.prestige = []; Game.prestige['Heavenly chips'] = <amount>;

This will make it so that when you refresh the page, the amount of heavenly chips returns back to normal. If you want it to be permanent, use:

var nhc = <amount>; Game.cookiesReset = nhc * (nhc + 1) * 1e12 / 2; Game.CalculatePrestige();

Use this code to pull up a menu where you have the option to set your Heavenly Chips. (Note, the game says the menu can be only be used once. Disregard it. This code can be used as many times as you want to.)


If you want to obtain the maximum amount of heavenly chips possible permanently, use:

Game.cookiesReset = Number.MAX_VALUE; Game.CalculatePrestige();

If you want to gain infinity heavenly chips, use:

Game.prestige = []; Game.prestige['Heavenly chips'] = Infinity; Game.prestige.ready = 1; Game.recalculateGains = 1;

Note: Changing the prestige level will not affect your amount of heavenly chips. If you want your heavenly chips amount to be correct, enter the following into the console. Game.heavenlyChips = Game.prestige - Game.heavenlyChipsSpent

Dungeons Related

Change Dungeon Level

If you want to change the dungeon level, use:

Game.Objects.Factory.dungeon.level = <level>;

The level affects amount of cookies rewarded and spawning of monsters. The new level goes into effect after the boss is defeated.

Change Dungeon Speed

If you want to change the speed at which the hero goes through the dungeon, use:

setInterval(function() { Game.Objects['Factory'].dungeon.timer = 0; }, <milliseconds interval>);

Sugar Lump Related

Set Sugar Lumps Amount

If you want to set your Sugar Lumps to a certain number, use:

Game.lumps = <amount>
Change Lump Variation

If you want to change a sugar lump to a bifuricated, golden, meaty, or caramelized lump, use:

Note that you will have to replace <value> with either 0 for normal, 1 for bifuricated, 2 for golden, 3 for meaty, or 4 for caramelized.

Game.lumpCurrentType = <value>


Cosmetic Tweaks

Make the Game "Party"


To make your game rave like in a party, enter this command in the console:

Game.PARTY = true;
How to Make Your Own News Ticker

To add custom tickers use the following code in the console (F12):

var customTickers=["<insert news here>","<insert more news here>","<insert even more news here>"];
customTickersFunction=function() { return customTickers; }

To later add more tickers just write:

customTickers.push("<insert news here>");
Turn Big Cookie into Face Cookie

To add a grandma face on the big cookie (may be disturbing for some), use:


To remove this effect, refresh the page or use:

Changing FPS

To change the FPS of the game, use:

Game.fps = <FPS>;

Note: This represents how many frames of animation you see per second and does not make the animations run more smoother. For example, setting this to 60 which is twice the default will make the animations run twice as fast, the opposite is also true. Also, changing this can cause current buffs duration and current golden cookie spawn time to be altered. Setting this value to negative can "freeze" Cookie Clicker, making the tab unable to close and requiring a device restart to fix.

Calculating Cookies at a Future Time

This is not really a cheat, but can be somewhat useful at times. To find out how many cookies you'll have in bank at a given time, use:

alert(Beautify(Game.cookies + (new Date("<YYYY-MM-DD HH:MM:SS>") - new Date().getTime()) / 1000 * Game.cookiesPs, 1));

To find out how many cookies you'll have baked all-time at a given time, use:

alert(Beautify(​Game.cookiesEarned + (new Date("<YYYY-MM-DD HH:MM:SS>") - new Date().getTime()) / 1000 * Game.cookiesPs, 1));

To find out how many heavenly chips you can get by resetting at a given time, use:

alert(Beautify(Math.floor((Math.pow(1 + 8 * (Game.cookiesEarned + Game.cookiesReset + (new Date("<YYYY-MM-DD HH:MM:SS>") - new Date().getTime()) / 1000 * Game.cookiesPs) / 10e12, 0.5) - 1) / 2)));

Note that this assumes that you do not click the big cookie, buy new upgrades/buildings, or click golden cookies in this time period.

Golden Cookies Notifications

Golden Cookie Title Bar Alert

To make it so that the title of the webpage changes to an exclamation point whenever a golden/red cookie appears, use:

setInterval(function() { if ( > 0) document.title = '!' }, 100);

Golden Cookie Desktop Notification

To make it so that a desktop notification pops up whenever a golden/red cookie appears, use:

if (window.webkitNotifications.checkPermission()) { function askPermission() { window.webkitNotifications.requestPermission(); var element = document.getElementById('notifier_permission'); element.parentNode.removeChild(element); } var ask = document.createElement('BUTTON'); var askText = document.createTextNode('Ask for notification permission'); = 'notifier_permission'; = 'absolute'; = 99999999; ask.appendChild(askText); document.body.appendChild(ask); ask.onclick = askPermission; } Game.shimmer.spawn = (function() { var spawn = Game.shimmer.spawn; return function() { popup = webkitNotifications.createNotification('img/goldCookie.png', 'Cookie Clicker', 'A wild golden cookie appeared!');; setTimeout(function(){ popup.cancel(); }, '10000'); spawn(); }; })(); // source: Cookie Clicker Subreddit

Play Beep Sound when Golden Cookie Spawns

To make it so that a beeping sound is played whenever a golden/red cookie spawns, use:

var alerted = false; setInterval(function () { if (Game.shimmer.time == 0) { if (alerted) return; alerted = true; var audio = new Audio(""); audio.volume = 0.7;; } else { alerted = false; } }, 100);

Auto-Buying Scripts

For instructions on using these scripts refer to above.

Build Script X

Build Script X is a placeholder name to differentiate it from the other scripts. The creator(s) should change it accordingly, but who wants to sit in that debate? Build Script X is a great placeholder name anyway. Fancy.
The script automatically buys the most effective item only in terms of cookies per second and price. It also tells you how long it'll take until it buys, based on your CPS. (Doesn't buy upgrades nor take manual clicks, especially golden cookie clicks, into consideration)
The original description above have been disputed as follows:

  • Certain upgrades are not taken into consideration in the calculations, although this may now be fixed.
  • The script also allows for toggling the automatic buy function by pressing the A key.
  • The script uses a proven formula (which includes your CPS rate) to calculate the order of buildings to be bought.

Link to source code:

Build Script Y

This script is an improvement of Build Script X, it buys the most effective buildings or upgrades automatically and tells you details about it in the news bar. This script calculates the effectiveness of each building and each upgrades using the same formula as Build Script X. This script voluntarily ignores the Bingo Center because otherwise it would spam the screen with "research has begun" and bring you to the grandmapocalypse.
Executing this code may cause lag on some machines, when the cookie count is high.
Link to source code:

Build Script Y***

This script is an "improvement" of Build Script Y, after a quick passage to Y* and Y**. It performs exactly the same operation as the Build Script Y, except that it lags even less.
Build Script Y* removed the recurrent call to the calculation of the best item to buy from the Y script in order to remove the lag caused by the constant calculation.
Link to source code:
Note: If the script is activated at the start of a brand new game, you will immediately get the first 7 of the CpS achievements. Removing the achievements using the method shown here technically does work but you will get them again almost instantly. Also, if it's activated after buying the Bingo Center or when One mind is available to be bought, it will spam "research has begun" and start the grandmapocalypse. This applies to both Y and Y***.

Build Script Z Beta 0.94

This script present the same build mechanism as Build Script Y, but it adds the possibility to keep 20 or 140 minutes (depending if you have the last golden cookie upgrade or not) worth of production, enabling the 'Lucky' effect to give you tons of cookies. Option is activated by default and can be removed by pressing 'G'.
Note that after buying an item, it won't have a full 140 minutes stock because of the production of the new building. But it is the optimized way.
There are currently 1 known problems : - On small screen the text indicating the new feature status is hidden
Link to source code:

Reindeer Related

To auto click reindeer, use the following:

setInterval( function() { Game.shimmers.forEach(function(shimmer) { if (shimmer.type == 'reindeer') { shimmer.pop() } }) }, 500);

To spawn a reindeer based on timer (will count towards stats & make a sound) use the following:

Game.shimmerTypes.reindeer.time = Game.shimmerTypes.reindeer.maxTime


(function(){var newShimmer=new Game.shimmer('reindeer'); newShimmer.spawnLead=1;Game.shimmerTypes['reindeer'].spawned=1;})();

To spawn a reindeer (the essence of redoubled luck way, won't count towards stats) use the following:

new Game.shimmer('reindeer');

Some Codes that may not be listed on here

Game.Win('<achievement name>'); // unlock achievement
Game.SetAllAchievs(1); // unlock all achievements
Game.santaLevel=<level>; // set santa level
Game.dragonLevel=<level>; // set dragon level
Game.MaxSpecials(); // Max Specials
Game.DebugUpgradeCpS(); // Debug Upgrades CpS
Game.gainLumps(<amount of lumps>); // +10 lumps
Game.Ascend(1); // Ascend
Game.cookies/=1000;Game.cookiesEarned/=1000; // /1k
Game.RuinTheFun(1); // Ruin the fun (UNLOCK EVERYTHING)
Game.GetAllDebugs(); // Get All Debugs
Game.cookies= Game.cookies + <cookie amount>; // Add cookies to your current cookie supply
Game.cookiesPs=<cookies per second amount>; // Set your cookies per second
Game.computedMouseCps=<mouse cookies per second amount>; // change your mouse cookies per second
Game.SetAllUpgrade(1); // get all upgrades
Game.SesameReset(); // reset game
Game.Has('<achievement name>'); // Check if user has achievement
Game.particlesUpdate(); // Update particles
Game.mousePointer=0; // change mouse pointer
Timer.track('milk'); // track milk timer
Game.AscendTimer=<time>; // Change Ascend Timer
Game.killShimmers(); // Remove all shimmers
Game.Earn(<cookie amount>); // Set your cookie count
Game.popups=0; // remove game popup notifications
Game.HardReset(2); // hard reset game
Game.debugTimersOn=0; // turn on debug timers/off
Game.sesame=0; // sesame on/off
Game.Achievements['<achievement name>'].won=1; // unlock achievements
Game.bakeryName="<bakery name>"; // set your bakery name
Game.bakeryNameRefresh(); // refresh bakery name
Game.BuildAscendTree(); // build ascend tree
Game.DebuggingPrestige=false; // debug prestige
Game.CalculateGains(); // calculate gains
Game.computedMouseCps; // compute mouse cps
Game.LoadSave(); // load save
Game.LoadSave(local); // load local save
Game.localStorageGet(Game.SaveTo); // save save
Game.milkProgress = <milk amount>; // change your milk progress
Game.Milk = <amount>; // Change your milk
Game.buyBulk=<1/10/100>; // Change your x# buy amount
Game.buyBulk=Game.buyBulkOld; // reset x# buy amount
Cookie Clicker game mechanics
Cookies Cookie ClickerClickingBuildings
General AchievementsCpSMilkGolden CookiesNews TickerOptionsCheatingSugar Lump
Upgrades Upgrades overview
Multipliers: Flavored CookiesKittens
Research: GrandmapocalypseWrath CookiesWrinklersShiny wrinklers
Ascension AscensionHeavenly ChipsChallenge Mode
Seasons Seasons overview
Valentine's DayBusiness DayEasterHalloweenChristmas
Minigames Minigames overview
GardenStock MarketPantheonGrimoire
Further reading Gameplay
Community content is available under CC-BY-SA unless otherwise noted.