Max Rate Calculator Factorio

Factorio Max Rate Calculator – Optimize Your Production Lines body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; line-height: 1.6; color: #e0e0e0; background-color: #1e1e1e; /* Dark factory theme */ margin: 0; padding: 20px; } .container { max-width: 800px; margin: 0 auto; background: #2a2a2a; padding: 30px; border-radius: 8px; box-shadow: 0 4px 15px rgba(0,0,0,0.5); border: 1px solid #ff9f1c; /* Factorio Orange */ } h1, h2, h3 { color: #ff9f1c; text-align: center; } .calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 30px; } @media (max-width: 600px) { .calc-grid { grid-template-columns: 1fr; } } .input-group { margin-bottom: 15px; } label { display: block; margin-bottom: 5px; font-weight: bold; color: #cccccc; } input[type="number"] { width: 100%; padding: 10px; border: 1px solid #444; border-radius: 4px; background-color: #333; color: #fff; box-sizing: border-box; } input[type="number"]:focus { outline: none; border-color: #ff9f1c; } button { width: 100%; padding: 15px; background-color: #ff9f1c; color: #1e1e1e; border: none; border-radius: 4px; font-size: 18px; font-weight: bold; cursor: pointer; transition: background 0.3s; text-transform: uppercase; } button:hover { background-color: #e68a00; } #results { background-color: #333; padding: 20px; border-radius: 4px; margin-top: 20px; display: none; border-left: 5px solid #ff9f1c; } .result-item { margin-bottom: 10px; font-size: 18px; display: flex; justify-content: space-between; border-bottom: 1px solid #444; padding-bottom: 5px; } .result-item span { font-weight: bold; color: #fff; } .article-content { margin-top: 40px; background: #252525; padding: 25px; border-radius: 8px; } .article-content p { margin-bottom: 15px; } .note { font-size: 0.85em; color: #888; margin-top: 5px; }

Factorio Max Rate Calculator

Calculate throughput, item production rates, and machine requirements based on crafting speeds and modules.

Base time listed on the recipe tooltip.
Assembling Machine 1 (0.5), 2 (0.75), or 3 (1.25).
Example: Copper Cable produces 2.
From Beacons or Speed Modules (use negative for Prod modules).
From Productivity Modules.
Optional: Calculate machines needed for a blue belt (2700).

Calculation Results

Modified Crafting Speed: 0
Crafting Cycle Time: 0 s
Output per Second: 0 items/s
Output per Minute: 0 items/m
Machines Needed for Target: N/A
Blue Belt Saturation: 0%

Optimizing Your Factory with the Max Rate Calculator

In Factorio, efficiency is the name of the game. Whether you are aiming for a megabase running at thousands of science packs per minute (SPM) or simply trying to saturate a blue belt of green circuits, understanding the math behind crafting speeds and productivity bonuses is essential. This Factorio Max Rate Calculator helps you determine the exact throughput of a single machine and how many machines you need to meet your production goals.

How Crafting Rate is Calculated

The game calculates production based on three primary factors: the base recipe time, the crafting speed of the assembling machine (or chemical plant/furnace), and any module modifiers. The formula used by this calculator is:

  • Effective Speed: Base Speed * (1 + Speed Bonus % + Productivity Speed Penalty %)
  • Crafts Per Second: Effective Speed / Recipe Time
  • Final Output: Crafts Per Second * Items Per Craft * (1 + Productivity Bonus %)

Understanding the Inputs

To get accurate results, ensure you input the data correctly from the game tooltip:

  • Recipe Time: Hover over the item in the crafting menu. For example, Electronic Circuits have a base time of 0.5 seconds.
  • Assembler Speed:
    – Assembling Machine 1: 0.5
    – Assembling Machine 2: 0.75
    – Assembling Machine 3: 1.25
  • Bonuses: If you are using Speed Module 3s, each adds +50% speed. Productivity Module 3s add +10% productivity but reduce speed by 15%. Beacons transmit 50% of the module's effect.

Belt Throughput Reference

When planning your "Max Rate", it is crucial to know the limits of your logistics belts:

  • Yellow Belt: 15 items/sec (900 items/min)
  • Red Belt: 30 items/sec (1800 items/min)
  • Blue Belt: 45 items/sec (2700 items/min)

Use the "Target Output" field in the calculator to see exactly how many assemblers you need to fill a specific belt type completely.

function calculateFactorio() { // Get inputs var recipeTime = parseFloat(document.getElementById("recipeTime").value); var machineSpeed = parseFloat(document.getElementById("machineSpeed").value); var itemsPerCraft = parseFloat(document.getElementById("itemsPerCraft").value); var speedBonus = parseFloat(document.getElementById("speedBonus").value) || 0; var prodBonus = parseFloat(document.getElementById("prodBonus").value) || 0; var targetRate = parseFloat(document.getElementById("targetRate").value) || 0; // Validation if (isNaN(recipeTime) || recipeTime <= 0 || isNaN(machineSpeed) || machineSpeed <= 0 || isNaN(itemsPerCraft) || itemsPerCraft <= 0) { alert("Please enter valid positive numbers for Recipe Time, Machine Speed, and Items Per Craft."); return; } // 1. Calculate Effective Speed // Formula: Base Speed * (1 + (SpeedBonus / 100)) // Note: In Factorio, speed cannot go below 20% of base speed usually, but we will use raw math here. // Productivity modules usually reduce speed, so speedBonus might be negative if user sums them up manually, // or positive if they add beacons. We treat the input as a net percentage sum. var speedMultiplier = 1 + (speedBonus / 100); // Ensure speed doesn't invert to negative (game cap is low but positive) if (speedMultiplier 0) { machinesNeeded = targetRate / itemsPerMinute; machinesText = Math.ceil(machinesNeeded) + " (" + machinesNeeded.toFixed(2) + ")"; } // 6. Calculate Belt Saturation (Blue Belt = 45/s or 2700/m) var blueBeltCap = 2700; var beltSat = (itemsPerMinute / blueBeltCap) * 100; // Display Results document.getElementById("results").style.display = "block"; document.getElementById("resSpeed").innerHTML = effectiveSpeed.toFixed(2); // Cycle time = 1 / (Effective Speed / Recipe Time) ?? // Actually Cycle time is just RecipeTime / EffectiveSpeed var realCycleTime = recipeTime / effectiveSpeed; document.getElementById("resCycle").innerHTML = realCycleTime.toFixed(2) + " s"; document.getElementById("resPerSec").innerHTML = itemsPerSecond.toFixed(2) + " items/s"; document.getElementById("resPerMin").innerHTML = itemsPerMinute.toFixed(0) + " items/m"; document.getElementById("resMachines").innerHTML = machinesText; document.getElementById("resBeltSat").innerHTML = beltSat.toFixed(1) + "% of a Blue Belt"; }

Leave a Comment