Cookie Clicker (2013) remains the canonical answer to how to make a clicker game — Julien "Orteil" Thiennot wrote the whole thing in one evening, posted a link on 4chan, and had 50,000 players within hours, then 200,000 players per day within a month (verified against the Cookie Clicker Wikipedia article on 2026-08-08). The mechanic is one sentence: click a target, watch a number go up, spend that number on upgrades that either boost the per-click value or add a per-tick auto-producer, and prestige when the growth curve stalls. The implementation is one afternoon of code. In this guide the pipeline for how to make a clicker game runs from an empty repo to a shareable browser build: design the number curve on paper first (this is the design work most tutorials skip), prompt WizardGenie to scaffold a React project with a click handler, a per-tick producer, and an upgrade shop that scales prices 15 percent per purchase, persist state to the standard localStorage browser API on every change, and finish with click-target art from Sorceress AI Image Gen, a tap thunk from SFX Gen, and an ambient loop from Music Gen.
What "how to make a clicker game" actually means in 2026
The phrase "how to make a clicker game" hides three different requests. Some searchers want to clone Cookie Clicker as a coding exercise, matching the exact 15-percent building-price curve, the achievement grid, the grandmapocalypse research tree, and the ascension prestige loop. Some searchers want to build a clicker-style game as a portfolio piece in React or vanilla HTML, learning the state model, the per-tick timer, and the exponential-cost shop along the way. And some searchers want to ship an actual browser or mobile incremental competing with the current market of clicker games that still generate durable ad revenue on itch.io, Kongregate-style portals, and mobile stores (Trimps, Kittens Game, Antimatter Dimensions, and dozens of smaller entries every year). This guide focuses on the second and third groups: how to make a clicker game as a browser build that runs on any modern phone or desktop, and how to make it your own so you can ship under a name that is not taken.
Two ground rules matter before any code gets written. First, the mechanic (click a target, buy upgrades, watch a number grow exponentially, prestige for a permanent multiplier) is a game mechanic and is not copyrightable, so the loop itself is fair use. Second, artwork, names, and specific number curves that are recognizable as another game's are protected under trademark and copyright, so do not name your build Cookie Clicker and do not lift the exact grandma-and-farm building lineup with the same names. Pick a new theme (bakery, factory, spellbook, garden, spaceship), pick a new set of building names, and generate your own art in AI Image Gen. Every hit incremental since 2013 has done exactly this — Trimps re-themes the buildings as breeding animals, Kittens Game re-themes them as villages and huts, Antimatter Dimensions re-themes them as physical quantities. The math is public; the theme is yours.
The clicker game loop in one minute (click tick multiply save)
Five moving parts and nothing else. A click target (a big button, a stylized orb, a themed icon) that fires an event handler on every click, adding the current per-click value to the running score. A per-tick timer running at 10 to 20 ticks per second that adds accumulated per-second production (the sum across all owned auto-producers) to the score every tick. An upgrade shop that lists purchasable buildings and multiplier upgrades, each with a current price computed from a base cost times a growth factor to the owned-count power. A save loop that serializes the entire state (score, per-click, per-second, owned-count per building, prestige points, timestamps) to localStorage on every buy and on a debounced 1-second timer. And a prestige system that lets the player soft-reset for a permanent multiplier once the score curve slows down.
That is the entire game. Win state does not exist in the traditional sense — a clicker game has no ending, only ever-increasing numbers and ever-more-expensive purchases. Loss state does not exist either. What the player is chasing is the next threshold: the next building unlock, the next zero on the counter, the next prestige tier that lets them start over with a 1.47x or 2x global multiplier. The design job for how to make a clicker game that actually feels good is to make each threshold arrive at a satisfying interval — roughly every 30 to 90 seconds for the first hour of gameplay, gradually stretching to 5 to 15 minutes by mid-game. Get that pacing wrong and the game feels either grindy (thresholds too far apart) or trivial (thresholds too close). The 15-percent price rule and the per-tick timer are how you tune it.
Pick your engine for how to make a clicker game: React, Phaser 4, or vanilla DOM
Three good browser targets in 2026, each with a different trade-off. React 19.2 (verified against react.dev/versions on 2026-08-08) is the default recommendation for a standard clicker build. A clicker is a UI-driven counter game with a per-tick timer and no per-frame render loop — the entire visual state fits in a single React component tree, with useState for the score and building counts, useEffect for the setInterval tick and the localStorage save, useReducer for the upgrade shop actions, and CSS transitions for the click bounce and buy flash. Bundle size lands around 45 KB gzipped for a clean React 19 build. Total lines of code for a full clicker with 6 buildings, 10 upgrades, and a prestige loop: about 400.
Plain HTML plus a single <script> tag is the leanest option. You write about 250 to 350 lines of vanilla JavaScript, produce a build under 15 KB total, and end up with something eligible for a JS13K-style code-golf entry or a pure-JavaScript learning demo. The trade-off is that every DOM update has to be written by hand instead of leaning on a virtual-DOM diff, so debugging state is on you. Use plain HTML if you want the exercise or the tiny build size; use React if you want the game done by Sunday night.
Phaser 4.2.1 Giedi (released 9 July 2026, verified against phaser.io/download/stable on 2026-08-08) is possible but overkill for a straight clicker. Phaser is built for real-time game loops with sprite animation, physics bodies, and per-frame updates, none of which a clicker needs. The 900 KB minified runtime is dead weight for a mostly-static UI game. Reach for Phaser only if you plan to bolt on real-time visual effects the standard clicker does not have — particle explosions on a purchase, animated background scenes tied to prestige tiers, a physics-based cookie shower on golden-cookie clicks, an animated mini-game inside the upgrade shop. WizardGenie will scaffold in any of the three based on the prompt.
Step 1 — design the number curve, upgrade tree, and prestige loop on paper first
This is the step every hobbyist clicker tutorial skips, and it is the step that decides whether players play for ten minutes or ten hours. Before you open WizardGenie, sit with a piece of paper (or a spreadsheet) and write down three tables: the building tier (name, base cost, base output), the upgrade tier (name, cost, effect), and the prestige formula (score threshold to trigger, points gained, points-to-multiplier curve).
For a first clicker following the Cookie Clicker school, six buildings is the sweet spot. Base cost and base output per tier are typically: Cursor (cost 15, output 0.1 per second), Grandma (cost 100, output 1), Farm (cost 1,100, output 8), Mine (cost 12,000, output 47), Factory (cost 130,000, output 260), and Bank (cost 1,400,000, output 1,400). Each building costs 1.15x the last purchase of the same building — the 15-percent rule is the number that makes the whole curve feel right. Compute it as const price = Math.ceil(base * Math.pow(1.15, owned)). Ten purchases of any building will cost roughly the same as owning all the previous buildings put together, which is the pacing intuition that keeps players engaged.
The upgrade tier is where you add long-term hooks. A first pass: three upgrades per building (2x output at 100 owned, 2x again at 500 owned, 2x again at 1000 owned), plus 3 to 5 global upgrades (2x per-click, 2x per-tick, unlock golden cookies with 7 percent random spawn, unlock a research tree, unlock ascension). Each upgrade doubles or triples the effective growth for a short window, which gives the score curve those satisfying jumps that keep the number-goes-up dopamine loop firing.
Prestige is the mid-game hook that turns a 30-minute session into a 30-hour campaign. The Cookie Clicker formula is roughly heavenlyChips = Math.floor(Math.cbrt(totalEarned / 1e12)) — cube root of lifetime score in trillions. Each heavenly chip adds a 1 percent permanent multiplier to production on future runs. That means the first ascension gains 5 to 15 chips (5 to 15 percent multiplier), the second gains 20 to 40, the third gains 60 to 100, and so on. Ascension is triggered manually by the player when the current run's growth has flattened, usually about 90 minutes into a first run. Design the threshold so players actually hit ascension on their first session — do not gate it behind so much grinding that they quit before they see it.