Motorcycle Rear Shock Spring Rate Calculator

Motorcycle Rear Shock Spring Rate Calculator body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; line-height: 1.6; color: #333; max-width: 1200px; margin: 0 auto; padding: 20px; background-color: #f5f7fa; } .calculator-container { background: #ffffff; padding: 30px; border-radius: 12px; box-shadow: 0 4px 15px rgba(0,0,0,0.1); margin-bottom: 40px; display: grid; grid-template-columns: 1fr 1fr; gap: 40px; } @media (max-width: 768px) { .calculator-container { grid-template-columns: 1fr; } } .input-section h3, .result-section h3 { margin-top: 0; color: #2c3e50; border-bottom: 2px solid #e74c3c; padding-bottom: 10px; margin-bottom: 20px; } .form-group { margin-bottom: 20px; } .form-group label { display: block; margin-bottom: 8px; font-weight: 600; font-size: 0.95rem; } .form-group input, .form-group select { width: 100%; padding: 12px; border: 1px solid #ddd; border-radius: 6px; font-size: 16px; box-sizing: border-box; transition: border-color 0.3s; } .form-group input:focus { border-color: #e74c3c; outline: none; } .form-text { font-size: 0.85rem; color: #666; margin-top: 5px; } button.calc-btn { background-color: #e74c3c; color: white; border: none; padding: 15px 30px; font-size: 1.1rem; font-weight: bold; border-radius: 6px; cursor: pointer; width: 100%; transition: background-color 0.2s; margin-top: 10px; } button.calc-btn:hover { background-color: #c0392b; } .result-box { background-color: #f8f9fa; border: 1px solid #e1e4e8; border-radius: 8px; padding: 20px; margin-top: 20px; } .result-item { display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px; padding-bottom: 10px; border-bottom: 1px solid #eee; } .result-item:last-child { border-bottom: none; margin-bottom: 0; } .result-label { font-weight: 500; color: #555; } .result-value { font-weight: 700; font-size: 1.2rem; color: #2c3e50; } .primary-result { background-color: #fff5f5; border: 2px solid #e74c3c; padding: 20px; border-radius: 8px; text-align: center; margin-bottom: 20px; } .primary-result .result-value { font-size: 2rem; color: #e74c3c; display: block; margin-top: 5px; } .content-article { background: white; padding: 40px; border-radius: 12px; box-shadow: 0 2px 10px rgba(0,0,0,0.05); } .content-article h2 { color: #2c3e50; margin-top: 30px; } .content-article p { margin-bottom: 15px; line-height: 1.8; } .content-article ul { margin-bottom: 20px; padding-left: 20px; } .content-article li { margin-bottom: 10px; } .info-tip { background-color: #e8f4fd; border-left: 4px solid #3498db; padding: 15px; margin: 20px 0; font-size: 0.95rem; }

Bike & Rider Data

Includes riding gear (helmet, boots, suit).
Fully fueled weight.
Typically 50-55% for most street bikes.
Length of shaft travel (check manual).
Total vertical axle movement.

Recommended Setup

Ideal Spring Rate 9.5 kg/mm (530 lbs/in)
Leverage Ratio 2.00 : 1
Rear Sprung Mass 0 lbs
Target Race Sag (33%) 0 mm
Note: This calculation assumes a standard linkage curve and approximately 10mm of mechanical preload. Always test actual sag on the bike to fine-tune.
Enter your motorcycle and rider details to see the recommended spring rate.

Understanding Motorcycle Rear Shock Spring Rates

Choosing the correct rear shock spring rate is the foundation of proper motorcycle suspension tuning. A spring that is too soft will cause the bike to wallow, bottom out over bumps, and run wide on corner exits. Conversely, a spring that is too stiff will result in a harsh ride, poor traction, and difficulty initiating turns. This calculator helps you determine the baseline spring stiffness required to support your weight and the bike's mass while maintaining the correct geometry.

How the Calculation Works

The spring rate calculation relies on several physical factors involving leverage and weight distribution:

  • Rider Weight: This must include all riding gear. A helmet, leathers, boots, and gloves can easily add 15-25 lbs to your body weight.
  • Leverage Ratio: This is the relationship between the movement of the rear wheel and the movement of the shock shaft. If the wheel moves 120mm and the shock moves 60mm, the ratio is 2:1. A higher ratio means the spring needs to be stiffer to support the same weight because the "lever" acting on it is longer.
  • Unsprung Weight: The calculator subtracts the weight of the rear wheel, swingarm, and brake components (approximately 30-35 lbs) because the shock does not support this mass; it only controls it.
  • Weight Bias: Most motorcycles carry slightly more weight on the rear wheel than the front when static. We estimate the rear sprung mass based on this distribution.

Understanding Sag

The goal of selecting a spring rate is to achieve the correct "Sag" numbers. Sag determines where the suspension sits in its stroke when the bike is loaded.

  • Free Sag (Static Sag): How much the bike settles under its own weight without a rider. Typically 5-10mm for street bikes.
  • Race Sag (Rider Sag): How much the bike settles with the rider on board. The industry standard target is generally 30% to 33% of total wheel travel for sport/track use, and up to 35-40% for adventure/touring.
Pro Tip: If you can achieve the correct Race Sag but your Free Sag is zero (or the bike tops out), your spring is too soft (requiring too much preload). If you have too much Free Sag, your spring is likely too stiff.

Kg/mm vs. Lbs/in

Spring rates are commonly sold in two units. European and Japanese manufacturers often use kg/mm (kilograms per millimeter), while American manufacturers often use lbs/in (pounds per inch). This calculator provides both to ensure compatibility with whatever brand of spring (Eibach, Öhlins, Racetech, etc.) you are purchasing.

function calculateSpringRate() { // 1. Get Inputs var riderWeight = parseFloat(document.getElementById('riderWeight').value); var bikeWeight = parseFloat(document.getElementById('bikeWeight').value); var rearBias = parseFloat(document.getElementById('rearBias').value); var shockStrokeMm = parseFloat(document.getElementById('shockStroke').value); var wheelTravelMm = parseFloat(document.getElementById('wheelTravel').value); // 2. Validation if (isNaN(riderWeight) || isNaN(bikeWeight) || isNaN(shockStrokeMm) || isNaN(wheelTravelMm)) { alert("Please enter valid numbers for all fields."); return; } if (shockStrokeMm <= 0 || wheelTravelMm <= 0) { alert("Travel and Stroke must be greater than zero."); return; } // 3. Constants & Conversions // Standard conversions var mmToInch = 0.0393701; // 4. Calculate Physics // Leverage Ratio = Wheel Travel / Shock Stroke var leverageRatio = wheelTravelMm / shockStrokeMm; // Estimate Unsprung Weight (Wheel, Swingarm, Brakes, Chain) // Average street bike rear unsprung weight is approx 30-35 lbs var unsprungWeightLbs = 35; // Calculate Rear Sprung Weight // Total bike weight * bias% – unsprung weight var rearTotalWeight = bikeWeight * (rearBias / 100); var rearSprungWeight = rearTotalWeight – unsprungWeightLbs; if (rearSprungWeight < 0) rearSprungWeight = 0; // Effective Rider Load on Rear // Riders don't sit directly over the axle. Usually 60-70% of rider weight is on the rear. var riderRearBias = 0.65; var riderLoadOnShock = riderWeight * riderRearBias; // Total Sprung Load to support var totalLoadLbs = rearSprungWeight + riderLoadOnShock; // Force acting on the shock shaft due to leverage ratio var forceOnShockLbs = totalLoadLbs * leverageRatio; // Target Sag Calculation // We want the spring to hold this weight at roughly 33% of the stroke (Race Sag) // Spring Formula: F = k * x // x (displacement) = (Shock Stroke * 0.33) + Preload // Standard mechanical preload is often around 10mm (0.39 inches) var shockStrokeInches = shockStrokeMm * mmToInch; var targetSagInches = shockStrokeInches * 0.33; var assumedPreloadInches = 0.39; // approx 10mm // The displacement of the spring at equilibrium var totalSpringCompressionInches = targetSagInches + assumedPreloadInches; // Calculate Rate (k) = Force / Displacement var springRateLbsIn = forceOnShockLbs / totalSpringCompressionInches; // Convert to kg/mm // 1 lb/in = 0.0178579673 kg/mm var springRateKgMm = springRateLbsIn * 0.017858; // 5. Update UI document.getElementById('resRateKg').innerHTML = springRateKgMm.toFixed(1) + " kg/mm"; document.getElementById('resRateLbs').innerHTML = "(" + Math.round(springRateLbsIn) + " lbs/in)"; document.getElementById('resRatio').innerHTML = leverageRatio.toFixed(2) + " : 1"; document.getElementById('resSprungMass').innerHTML = Math.round(rearSprungWeight) + " lbs"; // Calculate target sag in mm for display var targetSagMm = shockStrokeMm * 0.33; document.getElementById('resSag').innerHTML = Math.round(targetSagMm) + " mm"; // Show Results document.getElementById('resultsArea').style.display = 'block'; document.getElementById('placeholderText').style.display = 'none'; }

Leave a Comment