What Is a Gacha Simulator?
This page is a free tool for testing gacha (loot box / lottery) probabilities right in your browser. Configure four rarity tiers — SSR, SR, R, N — with custom rates (%), plus a pity system (a guaranteed SSR after a set number of pulls). Run single, 10x, or 100x pulls and watch the results flip over as cards. The 100-pull animation can be skipped with one click.
Total pulls, per-rarity counts, the gap between measured and theoretical rates, pulls remaining to pity, and your longest miss streak are saved in the browser and accumulate across sessions. Perfect for anyone who wants to feel how far real results drift from the configured odds — or to sanity-check their pull count after going deep in a live-service game.
How Pity (Guaranteed Pulls) Works
Pity is a mercy mechanic: if the top rarity has not appeared within a set number of pulls, that pull guarantees it. Mobile games vary widely — 100, 200, or 300 pulls, with pickup pity, shared pity, and other variants. Turn on Pity here and set any count (1-1000); the counter forces an SSR on exactly that pull. Whenever an SSR appears, the pity counter resets immediately.
Gacha Math: the Odds of Zero Hits in N Pulls
With an SSR rate of p (%) and N pulls, the chance of zero SSRs in N pulls is (1 - p/100)N. At p = 3% and N = 100, (0.97)100 ≈ 4.76% — meaning about 1 in 20 players gets no SSR in a full 100 pulls. At p = 1% and N = 100, (0.99)100 ≈ 36.6% — roughly one player in three walks away empty. Probability is harsher than intuition suggests: without pity, the hunch that "100 pulls should surely give me one" misses badly.
Frequently Asked Questions
Q. What happens to my stats if I change the rates mid-way?
A. Statistics (total pulls, SSR count, etc.) keep accumulating. Only the theoretical values follow the new settings, so right after a change the measured and theoretical rates can look far apart. Press Reset Stats to verify a new setting from a clean slate.
Q. Are pity SSRs distinguished from regular ones?
A. Yes. Cards obtained at the pity counter show a Pity badge. They count equally toward SSR statistics, but you can see at a glance whether each came from the guarantee or from luck.
Q. The 100-pull animation is long. Can I skip it?
A. The 100-pull reveal runs about 4 seconds, but the Skip button at the bottom reveals every card instantly. 10-pulls take about 1.5 seconds, and single pulls are immediate.
Q. Are my totals and pity counter saved if I close the browser?
A. Yes. Settings (rates, pity on/off, pity count) and statistics (totals, per-rarity counts, pity counter, longest miss streak) are stored in your browser’s localStorage. Reopen in the same browser and you continue where you left off. Use Reset Stats to start over.
Q. Does it carry over to incognito windows or other devices?
A. No. localStorage is separate per browser and device, so incognito windows, other browsers, and other machines each track their own independent statistics.
Q. What if the rates add up to more than 100%?
A. An error message appears and the Pull button is disabled. Keep SSR + SR + R at or under 100% so that N (auto-calculated) stays at 0% or above.
Q. Is the randomness truly random?
A. It uses the browser’s standard Math.random() pseudo-random generator. That is plenty for getting a feel for gacha probabilities, but it is not cryptographically secure, so it is unsuited to production game backends or rigorous statistical work.
* This simulator exists to explore and verify probabilities. It does not guarantee or reproduce the rates of any real game.