Ohlins Motorcycle Spring Rate Calculator

.ohlins-calc-container { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; max-width: 800px; margin: 20px auto; border: 1px solid #ddd; border-radius: 8px; background-color: #f9f9f9; color: #333; box-shadow: 0 4px 6px rgba(0,0,0,0.1); } .ohlins-calc-header { background-color: #ffcc00; color: #000; padding: 20px; border-radius: 8px 8px 0 0; text-align: center; } .ohlins-calc-header h2 { margin: 0; font-size: 24px; text-transform: uppercase; font-weight: 800; } .ohlins-calc-body { padding: 20px; } .ohlins-input-group { margin-bottom: 15px; } .ohlins-input-group label { display: block; font-weight: bold; margin-bottom: 5px; } .ohlins-input-group input, .ohlins-input-group select { width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 4px; box-sizing: border-box; } .ohlins-calc-btn { background-color: #000; color: #ffcc00; border: none; padding: 15px 20px; font-size: 16px; font-weight: bold; width: 100%; cursor: pointer; border-radius: 4px; text-transform: uppercase; transition: background 0.3s; } .ohlins-calc-btn:hover { background-color: #333; } .ohlins-result { margin-top: 20px; padding: 20px; background-color: #fff; border: 2px solid #ffcc00; border-radius: 4px; display: none; } .ohlins-result h3 { margin-top: 0; color: #000; } .ohlins-data-row { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px dotted #ccc; } .ohlins-data-row:last-child { border-bottom: none; } .ohlins-article { margin-top: 30px; line-height: 1.6; color: #444; padding: 0 20px 20px; } .ohlins-article h2 { color: #000; border-bottom: 2px solid #ffcc00; padding-bottom: 5px; } .ohlins-article h3 { color: #222; margin-top: 20px; } .unit-toggle { display: flex; gap: 10px; margin-bottom: 15px; } .unit-toggle button { flex: 1; padding: 5px; cursor: pointer; border: 1px solid #ccc; background: #eee; } .unit-toggle button.active { background: #ffcc00; font-weight: bold; border-color: #000; }

Öhlins Spring Rate Calculator

Sport / Superbike (1000cc) Middleweight Sport (600cc) Adventure / Touring Motocross / Off-road
Street – Comfortable Aggressive Street / Occasional Track Pure Race / Track Use

Recommended Spring Specifications

Recommended Rear Spring Rate:
Conversion (kg/mm):
Front Fork Spring Rate (per leg):

*Note: These are estimates based on standard linkage ratios. Always refer to your specific Öhlins mounting instructions for your bike's exact part number.

How to Choose the Correct Öhlins Spring Rate

Achieving the perfect suspension setup begins with the spring rate. While Öhlins shocks and forks offer world-class damping, the spring is what supports the mass of the motorcycle and rider. If your spring rate is incorrect, no amount of clicking on the compression or rebound adjusters will make the bike handle correctly.

Why Spring Rate Matters

The spring rate determines how much force is required to compress the spring by a certain distance (usually measured in Newtons per Millimeter or Kilograms per Millimeter).

  • Too Soft: The bike will blow through its travel, "wallow" in corners, and bottom out easily.
  • Too Stiff: The suspension won't move enough to absorb bumps, leading to a harsh ride and loss of traction as the tire skips over the surface.

Understanding Öhlins Spring Markings

Öhlins springs typically have a series of numbers printed on them. For example: 21040-29/90 L3412.

  • 21040: Refers to the spring series (dimensions like length and diameter).
  • 29: This is a code for the rate.
  • 90: This indicates the rate is 90 N/mm.
To convert N/mm to kg/mm, divide the N/mm value by 9.806. A 90 N/mm spring is approximately a 9.17 kg/mm spring.

Example Calculation

A rider weighing 85kg (including gear) on a modern 1000cc sportbike typically requires a rear spring rate of approximately 95 N/mm for optimal track performance. If that same rider adds a passenger or luggage (increasing the load to 110kg), the spring rate might need to jump to 105 N/mm to maintain the correct geometry and sag.

Static Sag vs. Rider Sag

Once you install your recommended spring, you must check your sag:

  • Static Sag: How much the bike settles under its own weight (Target: 5-10mm for rear).
  • Rider Sag: How much the bike settles with the rider on board (Target: 30-35mm for rear street use).
If you have to add too much preload to get the rider sag correct, your spring is too soft. If you have zero static sag to get the rider sag correct, your spring is too stiff.

var currentUnit = 'kg'; function setUnits(unit) { currentUnit = unit; var btnKg = document.getElementById('btnKg'); var btnLbs = document.getElementById('btnLbs'); var labelRider = document.getElementById('labelRiderWeight'); var labelGear = document.getElementById('labelGearWeight'); if (unit === 'kg') { btnKg.className = 'active'; btnLbs.className = "; labelRider.innerText = 'Rider Weight (kg)'; labelGear.innerText = 'Gear & Helmet Weight (kg)'; } else { btnLbs.className = 'active'; btnKg.className = "; labelRider.innerText = 'Rider Weight (lbs)'; labelGear.innerText = 'Gear & Helmet Weight (lbs)'; } } function calculateSpringRate() { var rawRider = parseFloat(document.getElementById('riderWeight').value); var rawGear = parseFloat(document.getElementById('gearWeight').value); var bikeType = document.getElementById('bikeType').value; var styleFactor = parseFloat(document.getElementById('ridingStyle').value); if (isNaN(rawRider) || isNaN(rawGear)) { alert('Please enter valid weights'); return; } // Convert to KG for calculation logic var riderKg = currentUnit === 'lbs' ? rawRider * 0.453592 : rawRider; var gearKg = currentUnit === 'lbs' ? rawGear * 0.453592 : rawGear; var totalRiderWeight = riderKg + gearKg; var baseRearRate = 0; var baseFrontRate = 0; var weightModifier = (totalRiderWeight – 80) * 0.55; // Standard deviation from 80kg reference if (bikeType === 'sport') { baseRearRate = 90 + weightModifier; baseFrontRate = 9.5 + (weightModifier * 0.05); } else if (bikeType === 'middle') { baseRearRate = 85 + weightModifier; baseFrontRate = 9.0 + (weightModifier * 0.05); } else if (bikeType === 'adv') { baseRearRate = 140 + (weightModifier * 1.2); // ADV bikes often use higher rates due to leverage baseFrontRate = 6.5 + (weightModifier * 0.03); } else if (bikeType === 'dirt') { baseRearRate = 52 + (weightModifier * 0.2); // Dirt bikes use different leverage/units usually baseFrontRate = 4.4 + (weightModifier * 0.02); } // Apply Riding Style Factor var finalRearNmm = baseRearRate * styleFactor; var finalFrontNmm = baseFrontRate * styleFactor; // Display results document.getElementById('ohlinsResult').style.display = 'block'; // Rear Result document.getElementById('resRearNmm').innerText = finalRearNmm.toFixed(1) + " N/mm"; document.getElementById('resRearKgmm').innerText = (finalRearNmm / 9.806).toFixed(2) + " kg/mm"; // Front Result var frontUnit = (bikeType === 'dirt') ? " N/mm" : " N/mm"; document.getElementById('resFrontNmm').innerText = finalFrontNmm.toFixed(2) + frontUnit; }

Leave a Comment