Carb Jetting Calculator

Carburetor Jetting Calculator

Optimize your air-fuel mixture for altitude and temperature

The jet size that works perfectly at your baseline conditions.

Tuning Recommendations

Recommended New Jet:
Correction Factor:
Condition Change:


Understanding Carburetor Jetting & Air Density

Carburetor jetting is the process of adjusting the fuel flow to match the amount of oxygen available in the air. Because internal combustion engines require a specific air-fuel ratio (usually around 14.7:1 for gasoline), changes in air density require changes in jet sizes.

How Altitude Affects Jetting

As you increase altitude, atmospheric pressure drops and air becomes "thinner" (less dense). Since there is less oxygen in a given volume of air, you must reduce the amount of fuel (use a smaller/leaner jet) to maintain the correct ratio. Conversely, dropping in altitude requires a larger (richer) jet.

How Temperature Affects Jetting

Cold air is denser than warm air. When the temperature drops, more oxygen molecules are packed into the same space, requiring more fuel (richer jetting). When it gets hot, the air expands and becomes less dense, requiring less fuel (leaner jetting).

Example Calculation

  • Baseline: #160 Main Jet at Sea Level (0 ft) and 70°F.
  • New Scenario: Riding at 5,000 ft and 50°F.
  • Result: The air is thinner due to altitude but thicker due to the cold. The calculator determines a Correction Factor (e.g., 0.94).
  • New Jet: 160 x 0.94 = 150.4. You would likely install a #150 or #152 jet.

Jetting Symptoms

Condition Symptoms
Too Rich (Too much fuel) Engine stutters at high RPM, "blubbery" sound, black smoke, fouled spark plugs.
Too Lean (Too much air) Engine runs hot, "bogs" or dies when opening throttle, popping on deceleration, white spark plugs.
function calculateJetting() { var baseJet = parseFloat(document.getElementById('baseJet').value); var baseAlt = parseFloat(document.getElementById('baseAlt').value); var targetAlt = parseFloat(document.getElementById('targetAlt').value); var baseTemp = parseFloat(document.getElementById('baseTemp').value); var targetTemp = parseFloat(document.getElementById('targetTemp').value); if (isNaN(baseJet) || isNaN(targetAlt) || isNaN(targetTemp)) { alert("Please enter all required values."); return; } // Standard Atmosphere Pressure Calculation (Inches of Mercury) // P = 29.92 * (1 – 0.0000068755 * h)^5.2559 var pBase = 29.92 * Math.pow((1 – 0.0000068755 * baseAlt), 5.2559); var pTarget = 29.92 * Math.pow((1 – 0.0000068755 * targetAlt), 5.2559); // Absolute Temperature in Rankine (F + 459.67) var tBase = baseTemp + 459.67; var tTarget = targetTemp + 459.67; // Relative Air Density (RAD) Calculation // RAD = (P_target / P_base) * (T_base / T_target) var rad = (pTarget / pBase) * (tBase / tTarget); // Jet Correction Factor is typically approximately the square root of the RAD // for jet diameter, but many tuners use a direct linear ratio for jet area/size // depending on the manufacturer numbering (Mikuni vs Keihin). // We will use a standard correction factor commonly accepted in powersports. var correctionFactor = rad; var newJet = baseJet * correctionFactor; document.getElementById('recommendedJet').innerText = newJet.toFixed(1); document.getElementById('correctionFactor').innerText = correctionFactor.toFixed(3); var diff = (correctionFactor – 1) * 100; var changeText = ""; var adviceText = ""; if (diff > 0) { changeText = "Increase fuel flow by " + diff.toFixed(1) + "% (Richer)"; adviceText = "The air is denser at your target location. You need a LARGER jet to prevent a lean condition which could damage your engine."; } else if (diff < 0) { changeText = "Decrease fuel flow by " + Math.abs(diff).toFixed(1) + "% (Leaner)"; adviceText = "The air is thinner at your target location. You need a SMALLER jet to prevent a rich condition and power loss."; } else { changeText = "No change needed."; adviceText = "Conditions are identical to your baseline."; } document.getElementById('conditionChange').innerText = changeText; document.getElementById('tuningAdvice').innerText = adviceText; document.getElementById('jettingResults').style.display = 'block'; }

Leave a Reply

Your email address will not be published. Required fields are marked *