Ohlins Spring Rate Calculator Mtb

Öhlins Spring Rate Calculator

Optimize your TTX22M or TTX Air Performance

kg lbs
25% (Firm/XC) 28% (Trail) 30% (Enduro/DH) 33% (Plush)
Linear (Flat) Standard Progressive Highly Progressive
Leverage Ratio
Total Loaded Weight
Recommended Öhlins Coil Rate: lbs/in

*Note: Öhlins springs are available in increments of 23 lbs/in (4 N/mm). Choose the closest available rate based on your riding preference.

How to Choose Your Öhlins MTB Spring

Selecting the correct spring rate is the most critical setup step for your Öhlins TTX22M or TTX Air shock. Unlike air shocks where you simply change pressure, a coil spring requires calculating the physical resistance needed to support your weight at the correct sag point.

Key Factors Explained:

  • Leverage Ratio: This is the relationship between how much the rear wheel moves versus how much the shock compresses. A bike with 160mm travel and a 65mm stroke has a leverage ratio of 2.46:1.
  • Sag: For Öhlins suspension, the sweet spot for Enduro is typically 30%. Gravity-oriented riders may prefer slightly more (33%), while XC or Trail riders often prefer 25-28% for a firmer pedaling platform.
  • Rider Weight: Always calculate your weight "ready to ride," including your helmet, shoes, hydration pack, and tools. This can add 5-10kg (11-22lbs) to your body weight.

Understanding Öhlins Spring Marking

Öhlins springs often show their rate in both lbs/in and N/mm. For example, a 434 lbs/in spring is equivalent to 76 N/mm. Öhlins typically manufactures springs in 4 N/mm (approx 23 lbs/in) increments. If your result is between two sizes (e.g., 445 lbs), choose the 434 lbs spring for a more active, supple feel, or the 457 lbs spring for more bottom-out resistance and a higher ride height.

Typical Spring Rate Example

Rider Weight (inc. Gear) Avg. Leverage (2.5:1) Recommended Rate
70 kg (154 lbs) 150mm Travel / 60mm Stroke 388 – 411 lbs/in
85 kg (187 lbs) 160mm Travel / 65mm Stroke 457 – 480 lbs/in
100 kg (220 lbs) 170mm Travel / 65mm Stroke 548 – 571 lbs/in
function calculateOhlinsSpring() { var weight = parseFloat(document.getElementById('ohlins_weight').value); var unit = document.getElementById('ohlins_unit').value; var gear = parseFloat(document.getElementById('ohlins_gear').value); var travel = parseFloat(document.getElementById('ohlins_travel').value); var stroke = parseFloat(document.getElementById('ohlins_stroke').value); var sagPercent = parseFloat(document.getElementById('ohlins_sag').value) / 100; var progression = parseFloat(document.getElementById('ohlins_progression').value); if (isNaN(weight) || isNaN(gear) || isNaN(travel) || isNaN(stroke) || stroke === 0) { alert("Please enter valid numeric values for all fields."); return; } // 1. Calculate Total Loaded Weight in LBS var totalWeightLbs; if (unit === 'kg') { totalWeightLbs = (weight + gear) * 2.20462; } else { totalWeightLbs = weight + gear; } // 2. Calculate Leverage Ratio var leverageRatio = travel / stroke; // 3. Estimate weight distribution (Rear wheel bias) // Standard MTB rear bias is roughly 65% when seated/neutral var weightOnRear = totalWeightLbs * 0.65; // 4. Spring Rate Formula: Rate = (Force) / (Stroke * Sag) // Rate (lbs/in) = (Weight_on_Rear * Leverage_Ratio) / (Stroke_inches * Sag_percentage) var strokeInches = stroke / 25.4; // Apply progression factor: Higher progression bikes need slightly less spring rate // to achieve the same sag because the link ramps up. var calculatedRate = (weightOnRear * leverageRatio) / (strokeInches * sagPercent); calculatedRate = calculatedRate / progression; // Rounding logic for Öhlins (they use 4 N/mm steps, which is ~23 lbs/in) // Common Öhlins rates: 343, 365, 388, 411, 434, 457, 480, 502, 525, 548, 571, 594, 617, 640… var recommendedRate = Math.round(calculatedRate); // Update UI document.getElementById('res_leverage').innerText = leverageRatio.toFixed(2) + ":1″; document.getElementById('res_total_weight').innerText = Math.round(totalWeightLbs) + " lbs"; document.getElementById('res_spring_rate').innerText = recommendedRate; document.getElementById('ohlins_results').style.display = 'block'; // Smooth scroll to results document.getElementById('ohlins_results').scrollIntoView({ behavior: 'smooth', block: 'nearest' }); }

Leave a Comment