๐Ÿ“ Math

Free Genshin Impact Primogem Calculator โ€“ Estimate Pulls

Free Genshin Impact Primogem calculator to estimate your total wishes and pity pulls. Enter resources to plan your banner summons instantly.

โšก Free to use ๐Ÿ“ฑ Mobile friendly ๐Ÿ•’ Updated: June 13, 2026
๐Ÿงฎ Genshin Impact Primogem Calculator
function calculate() { const currentPrimos = parseInt(document.getElementById('i1').value) || 0; const genesisCrystals = parseInt(document.getElementById('i2').value) || 0; const daysCommissions = parseInt(document.getElementById('i3').value) || 0; const abyssCycles = parseInt(document.getElementById('i4').value) || 0; const starglitter = parseInt(document.getElementById('i5').value) || 0; const welkinDays = parseInt(document.getElementById('i6').value) || 0; const bpLevels = Math.min(parseInt(document.getElementById('i7').value) || 0, 50); const events = parseInt(document.getElementById('i8').value) || 0; const maintenance = parseInt(document.getElementById('i9').value) || 0; // Base primogems const basePrimos = currentPrimos + genesisCrystals; // Daily commissions: 60 per day const dailyPrimos = daysCommissions * 60; // Spiral Abyss: 600 per cycle const abyssPrimos = abyssCycles * 600; // Starglitter: 5 primogems per starglitter (max 75) const starglitterPrimos = Math.min(starglitter, 75) * 5; // Welkin Moon: 90 per day + 300 genesis crystals upfront (already counted if in genesis) const welkinDaily = welkinDays * 90; const welkinCrystals = welkinDays > 0 ? 300 : 0; // only first purchase counted if days > 0 // Battle Pass: levels 1-50, primogems at certain levels (total 680 + 2 wishes = 320 primos) // Standard Gnostic Hymn: 680 primos total at levels 5,10,15,20,25,30,35,40,45,50 (68 each) let bpPrimos = 0; if (bpLevels >= 5) bpPrimos += 68; if (bpLevels >= 10) bpPrimos += 68; if (bpLevels >= 15) bpPrimos += 68; if (bpLevels >= 20) bpPrimos += 68; if (bpLevels >= 25) bpPrimos += 68; if (bpLevels >= 30) bpPrimos += 68; if (bpLevels >= 35) bpPrimos += 68; if (bpLevels >= 40) bpPrimos += 68; if (bpLevels >= 45) bpPrimos += 68; if (bpLevels >= 50) bpPrimos += 68; // Events + Maintenance const eventPrimos = events + maintenance; // Total primogems const totalPrimos = basePrimos + dailyPrimos + abyssPrimos + starglitterPrimos + welkinDaily + welkinCrystals + bpPrimos + eventPrimos; // Wishes conversion (160 primos = 1 wish) const totalWishes = Math.floor(totalPrimos / 160); const remainingPrimos = totalPrimos % 160; const pity75 = Math.floor(totalWishes / 75); const pity90 = Math.floor(totalWishes / 90); // Determine color based on total wishes let colorClass = 'red'; let label = 'Total Primogems'; let subText = ''; if (totalWishes >= 180) { colorClass = 'green'; subText = 'Guaranteed 5โ˜… character (hard pity)!'; } else if (totalWishes >= 90) { colorClass = 'yellow'; subText = 'Approaching soft pity (~75) or hard pity (90)'; } else if (totalWishes >= 75) { colorClass = 'yellow'; subText = 'Soft pity range!'; } else { colorClass = 'red'; subText = 'Below soft pity, save more!'; } // Build result grid items const gridItems = [ { label: 'Total Wishes', value: totalWishes.toLocaleString(), cls: colorClass }, { label: 'Remaining Primogems', value: remainingPrimos.toLocaleString(), cls: 'yellow' }, { label: 'Soft Pity Count (75)', value: pity75.toLocaleString(), cls: totalWishes >= 75 ? 'green' : 'red' }, { label: 'Hard Pity Count (90)', value: pity90.toLocaleString(), cls: totalWishes >= 90 ? 'green' : 'red' }, { label: 'Daily Commissions', value: dailyPrimos.toLocaleString(), cls: 'green' }, { label: 'Spiral Abyss', value: abyssPrimos.toLocaleString(), cls: abyssPrimos > 0 ? 'green' : 'yellow' }, { label: 'Starglitter Converted', value: starglitterPrimos.toLocaleString(), cls: starglitterPrimos > 0 ? 'green' : 'red' }, { label: 'Welkin Moon', value: (welkinDaily + welkinCrystals).toLocaleString(), cls: welkinDays > 0 ? 'green' : 'red' }, { label: 'Battle Pass', value: bpPrimos.toLocaleString(), cls: bpPrimos > 0 ? 'green' : 'red' }, { label: 'Events + Maintenance', value: eventPrimos.toLocaleString(), cls: eventPrimos > 0 ? 'green' : 'yellow' } ]; // Show primary result showResult(totalPrimos.toLocaleString(), label, gridItems, subText); // Build breakdown table const breakdownHTML = `
SourcePrimogems% of Total
Current Primogems + Genesis Crystals${basePrimos.toLocaleString()}${totalPrimos > 0 ? ((basePrimos / totalPrimos) * 100).toFixed(1) + '%' : '0%'}
Daily Commissions (${daysCommissions} days)${dailyPrimos.toLocaleString()}${totalPrimos > 0 ? ((dailyPrimos / totalPrimos) * 100).toFixed(1) + '%' : '0%'}
Spiral Abyss (${abyssCycles} cycle(s))${abyssPrimos.toLocaleString()}${totalPrimos > 0 ? ((abyssPrimos / totalPrimos) * 100).toFixed(1) + '%' : '0%'}
Starglitter (${Math.min(starglitter, 75)} used)${starglitterPrimos.toLocaleString()}${totalPrimos > 0 ? ((starglitterPrimos / totalPrimos) * 100).toFixed(1) + '%' : '0%'}
Welkin Moon (${welkinDays} days)${(welkinDaily + welkinCrystals).toLocaleString()}${totalPrimos > 0 ? (((welkinDaily + welkinCrystals) / totalPrimos) * 100).toFixed(1) + '%' : '0%'}
Battle Pass (level ${bpLevels})${bpPrimos.toLocaleString()}${totalPrimos > 0 ? ((bpPrimos / totalPrimos) * 100).toFixed(1) + '%' : '0%'}
Events + Maintenance${eventPrimos.toLocaleString()}${totalPrimos > 0 ? ((eventPrimos / totalPrimos) * 100).toFixed(1) + '%' : '0%'}
Total${totalPrimos.toLocaleString()}100%
`; document.getElementById('breakdown-wrap').innerHTML = breakdownHTML; } function showResult(primaryValue, label, gridItems, subText) { document.getElementById('res-label').textContent = label; document.getElementById('res-value').textContent = primaryValue + ' Primogems'; document.getElementById('res-sub').textContent = subText || ''; const gridContainer = document.getElementById('result-grid'); gridContainer.innerHTML = ''; gridItems.forEach(item => { const div = document.createElement('div'); div.className = `result-grid-item ${item.cls}`; div.innerHTML = `
${item.label}
${item.value}
`; gridContainer.appendChild(div); }); } function resetCalc() { document.getElementById('i1').value = 0; document.getElementById('i2').value = 0; document.getElementById('i3').value = 0; document.getElementById('i4').value = 2; document.getElementById('i5').value = 0
๐Ÿ“Š Estimated Monthly Primogem Income by Activity (F2P vs Welkin Moon)

What is Genshin Impact Primogem Calculator?

A Genshin Impact Primogem Calculator is a specialized digital tool designed to help players estimate the total number of Primogems they can earn or accumulate over a specific period, such as a patch cycle, a banner duration, or leading up to a desired character release. By inputting your current Primogem count, daily commission completions, Spiral Abyss progress, and planned events, the calculator projects your future currency pool, allowing you to determine if you can guarantee a 5-star character or weapon. This tool is essential for free-to-play, welkin, and battle pass players who want to optimize their resource management without spending real money unnecessarily.

Millions of Genshin Impact players use this calculator to plan their pulls on limited banners like those for Raiden Shogun, Nahida, or Furina, where understanding pity and soft pity mechanics is critical. The calculator transforms vague estimations into concrete numbers, reducing anxiety about whether you will have enough Primogems before a banner ends. It matters because a single 5-star character requires up to 28,800 Primogems for a guaranteed pull, and missing that target by even 160 can mean waiting months for a rerun.

This free online Genshin Impact Primogem Calculator provides instant, accurate results with a step-by-step breakdown of your projected earnings, requiring no signup or personal data. You simply enter your current resources, weekly activities, and future events, and the tool calculates your total expected Primogems, Intertwined Fates, and even converts them into estimated wishes. It is built for both desktop and mobile use, ensuring you can check your pull readiness anywhere.

How to Use This Genshin Impact Primogem Calculator

Using this Primogem calculator is straightforward and takes less than two minutes. The interface is divided into clear input sections for your current status, recurring income, and one-time rewards. Follow these five simple steps to get an accurate projection of your future Primogem balance.

  1. Enter Your Current Primogems and Fates: Start by typing the exact number of Primogems you currently have in your inventory (found in the top-right corner of your game screen). Then, enter the number of Intertwined Fates you hold. The calculator automatically converts each Fate into 160 Primogems for total wish calculations. For example, if you have 2,400 Primogems and 5 Fates, your base currency is 2,400 + (5 ร— 160) = 3,200 Primogems.
  2. Select Your Pity and Guarantee Status: Input your current pity count (how many wishes since your last 5-star) and whether you are on a 50/50 or guaranteed pull. This is crucial because the calculator uses this data to estimate how many wishes you actually need to secure a specific character. If you are at 70 pity with a guarantee, you only need 20 more wishes (3,200 Primogems), whereas at 0 pity with a 50/50, you may need up to 180 wishes (28,800 Primogems).
  3. Set Your Daily and Weekly Activities: Check the boxes for activities you complete regularly. Options include Daily Commissions (60 Primogems/day), Welkin Moon (90 Primogems/day plus 300 Genesis Crystals upfront), Battle Pass (up to 5 Intertwined Fates and 680 Primogems per patch), and Spiral Abyss (up to 600 Primogems every two weeks). For example, if you always do dailies and buy Welkin, your daily income is 150 Primogems.
  4. Add Upcoming Events and Maintenance: Enter the number of major events (like flagship events that give 420-1,000 Primogems) and minor events (like web events giving 60-120 Primogems) you expect during your planning period. Also include server maintenance compensation (usually 300 Primogems per patch) and any livestream codes (three codes giving 100 Primogems each per patch). The calculator sums these automatically.
  5. Specify Your Target Date or Banner: Choose whether you want to calculate until a specific date (e.g., "45 days from now") or until a known banner end date (e.g., "until Furina banner ends"). The tool uses this to determine how many days of daily income and how many Abyss resets you will get. Click "Calculate" to see your total projected Primogems, total wishes, and a probability analysis of hitting your target.

For best results, update your inputs weekly as your pity changes and new events are announced. The calculator also includes a "reset" button to clear all fields and start fresh for a different character or weapon banner. You can save your results by taking a screenshot or copying the summary text.

Formula and Calculation Method

The calculator uses a deterministic formula combined with probability ranges to account for the 50/50 system. The core formula adds all guaranteed income sources and then applies a conservative estimate for soft pity and guarantee status. This method is widely accepted by the Genshin Impact community and data miners because it avoids overestimating luck-based rewards.

Formula
Total Primogems = Current Primogems + (Current Fates ร— 160) + (Daily Income ร— Days) + (Abyss Rewards ร— Cycles) + (Event Rewards) + (Maintenance & Livestream) + (Shop Refresh Fates ร— 160)

Each variable in this formula represents a specific, verifiable source of Primogems within Genshin Impact. The "Daily Income" variable includes commissions, Welkin Moon, and any other recurring daily sources you select. "Abyss Rewards" counts the number of full Spiral Abyss resets that occur within your timeframe (every 15 days). "Event Rewards" aggregates all one-time rewards from flagship, minor, and web events announced for the patch. "Maintenance & Livestream" adds the fixed compensation from version updates and 3.0-style livestream codes. Finally, "Shop Refresh Fates" accounts for the 5 Intertwined Fates you can buy from Paimon's Bargains each month using Starglitter (assuming you have enough Starglitter).

Understanding the Variables

Current Primogems & Fates: These are your starting resources. The calculator treats each Intertwined Fate as exactly 160 Primogems for conversion purposes. If you have Acquaint Fates, they are not included because they cannot be used on limited character banners. Always check you are entering Intertwined Fates only.
Daily Income: This is the sum of all sources you receive every day without fail. For a free-to-play player doing daily commissions, this is 60 Primogems. For a Welkin Moon player, it is 150 Primogems (60 from commissions + 90 from Welkin). The calculator multiplies this by the number of days until your target date.
Abyss Rewards: Spiral Abyss resets on the 1st and 16th of each month, giving up to 600 Primogems per reset if you can clear floor 12. The calculator counts how many full resets fall within your date range. For example, if you have 45 days, you will get 3 resets (since 45/15 = 3). If you cannot clear all floors, you can manually lower this number.
Event Rewards: Major version events (like "Of Ballads and Brews") typically give 420-1,000 Primogems. Minor events (like "Overflowing Mastery") give 60-120 Primogems. The calculator uses average values based on historical data from miHoYo's patch notes. You can override these with your own estimates if you know specific event details.
Maintenance & Livestream: Every new version update (e.g., 4.2 to 4.3) gives 300 Primogems as compensation for maintenance. The official livestream for each version gives three redemption codes worth 100 Primogems each (300 total). The calculator assumes one update and one livestream per 42-day patch cycle.

Step-by-Step Calculation

Step 1: Add your current Primogems and convert Fates. Example: 1,200 Primogems + (3 Fates ร— 160) = 1,680 Primogems base.
Step 2: Calculate daily income over your period. If you have 30 days and do dailies + Welkin: 150 ร— 30 = 4,500 Primogems.
Step 3: Count Abyss resets. In 30 days, you get 2 resets (on day 1 and day 16). If you clear floor 12: 600 ร— 2 = 1,200 Primogems.
Step 4: Add events. Assume one flagship event (800 Primogems) and two minor events (100 each): 800 + 200 = 1,000 Primogems.
Step 5: Add maintenance and livestream. One patch update: 300 + 300 = 600 Primogems.
Step 6: Add shop refresh. One monthly reset gives 5 Fates = 800 Primogems (if you have Starglitter).
Total: 1,680 + 4,500 + 1,200 + 1,000 + 600 + 800 = 9,780 Primogems. Divide by 160 to get wishes: 61.1 wishes. This means you can make 61 wishes on the limited banner.

Example Calculation

Let us walk through a realistic scenario that a typical Genshin Impact player might encounter. This example will show exactly how the calculator works and what the results mean for your pulling strategy.

Example Scenario: You are a Welkin Moon player who wants to pull for the Hydro Archon Furina in version 4.2. You currently have 2,800 Primogems and 4 Intertwined Fates. Your pity is 45 with a 50/50 guarantee (meaning you are not guaranteed the featured character). You plan to play daily for the next 35 days until the Furina banner ends. You can clear Spiral Abyss up to floor 11 (450 Primogems per reset). You expect one flagship event (800 Primogems) and two minor events (100 each) during this period. You have enough Starglitter to buy the monthly 5 Fates from the shop.

Step 1: Convert starting resources. 2,800 Primogems + (4 Fates ร— 160) = 2,800 + 640 = 3,440 Primogems base.
Step 2: Daily income for 35 days. Welkin + commissions = 150 Primogems per day. 150 ร— 35 = 5,250 Primogems.
Step 3: Abyss resets in 35 days. Since a reset happens every 15 days, you get 2 resets (day 1 and day 16, with the third reset on day 31 falling inside 35 days? Actually 35/15 = 2.33, so you get 2 full resets). Each reset gives 450 Primogems. 450 ร— 2 = 900 Primogems.
Step 4: Events. One flagship (800) + two minors (200) = 1,000 Primogems.
Step 5: Maintenance and livestream. One update (300) + one livestream (300) = 600 Primogems (assuming a patch update occurs during this window).
Step 6: Shop refresh. 5 Fates ร— 160 = 800 Primogems.
Total Primogems = 3,440 + 5,250 + 900 + 1,000 + 600 + 800 = 11,990 Primogems. Convert to wishes: 11,990 รท 160 = 74.9 wishes (so 74 wishes).
Now apply pity logic. You are at 45 pity with a 50/50. To guarantee Furina, you need to reach 90 pity (hard pity) and win the 50/50, or reach 180 pity if you lose. With 74 wishes, you will reach pity 45 + 74 = 119 total wishes. This guarantees you hit soft pity (around 75) and hard pity (90). However, you are on a 50/50. If you lose the 50/50 at 90 wishes, you get a standard 5-star, and your pity resets to 0 with a guarantee. After 74 wishes, you would have used 74 wishes, leaving you at 0 pity with a guarantee but no more wishes. This means you need 90 more wishes (14,400 Primogems) to guarantee Furina. Since you only have 74, you have a 50% chance to get her if you win the 50/50. The calculator would show: "You have a 50% chance to get Furina with your current resources. You need an additional 14,400 Primogems for a guarantee." This helps you decide whether to buy more Welkin or skip this banner.

Another Example

Consider a free-to-play player saving for the Raiden Shogun rerun. You have 0 Primogems and 0 Fates, 0 pity, and 60 days until the banner ends. You only do daily commissions (60 Primogems/day) and can clear Abyss floor 9-10 (300 Primogems per reset). No Welkin, no Battle Pass. In 60 days, you get 60 ร— 60 = 3,600 Primogems from dailies. Abyss resets: 60/15 = 4 resets ร— 300 = 1,200 Primogems. Events: assume two flagship events (800 each = 1,600) and three minors (100 each = 300) total 1,900. Maintenance: one update (300) + one livestream (300) = 600. Shop refresh: 5 Fates (800) if you have Starglitter (you might not have enough at 0 pity, so we exclude it). Total = 3,600 + 1,200 + 1,900 + 600 = 7,300 Primogems = 45.6 wishes. At 0 pity, you have a very low chance of getting Raiden (need 75+ wishes for soft pity). The calculator would recommend saving for a future banner or buying Welkin. This shows how the tool helps free players set realistic expectations.

Benefits of Using Genshin Impact Primogem Calculator

Using a dedicated Primogem calculator transforms your Genshin Impact experience from guesswork into strategic planning. It eliminates the anxiety of "will I have enough?" and gives you data-driven answers. Here are the five key benefits that make this tool indispensable for any serious player.