Maintaining correct valve clearance is critical for the performance, reliability, and longevity of your Honda CRF's high-performance engine. Over time, valve seats wear, causing the valve clearance (the gap between the cam and the valve bucket/shim) to tighten. If left uncorrected, tight valves can lead to hard starting, a significant loss of power, and eventually, burnt valves and costly engine damage.
This calculator helps you determine the correct shim size needed to bring your valve clearances back into the manufacturer's specification. Always consult your motorcycle's official service manual for the correct target clearance values for your specific model and year.
How It Works & Example
The formula used is: New Shim = Current Shim + Measured Clearance – Target Clearance
Let's walk through a common scenario for a CRF250R intake valve:
Target Clearance (from manual): 0.12mm
You use a feeler gauge and find your Measured Clearance is too tight at 0.05mm.
You remove the valve bucket and measure the Current Shim, which is 1.90mm.
The calculator will show that you need a 1.83mm shim. Since shims are typically sold in increments of 0.02mm or 0.05mm, you would select the closest available size (e.g., a 1.82mm or 1.85mm shim), install it, and re-measure the clearance to confirm it's within spec.
function calculateShim() {
var currentShimInput = document.getElementById("currentShim").value;
var measuredClearanceInput = document.getElementById("measuredClearance").value;
var targetClearanceInput = document.getElementById("targetClearance").value;
var resultDiv = document.getElementById("result");
var currentShim = parseFloat(currentShimInput);
var measuredClearance = parseFloat(measuredClearanceInput);
var targetClearance = parseFloat(targetClearanceInput);
if (isNaN(currentShim) || isNaN(measuredClearance) || isNaN(targetClearance)) {
resultDiv.innerHTML = "Error: Please enter valid numbers in all fields.";
resultDiv.className = "error";
resultDiv.style.display = "block";
return;
}
if (currentShim <= 0 || measuredClearance < 0 || targetClearance <= 0) {
resultDiv.innerHTML = "Error: Input values must be positive numbers.";
resultDiv.className = "error";
resultDiv.style.display = "block";
return;
}
var newShimSize = currentShim + measuredClearance – targetClearance;
if (newShimSize <= 0) {
resultDiv.innerHTML = "Calculation resulted in an invalid shim size (" + newShimSize.toFixed(3) + " mm). Please double-check your inputs.";
resultDiv.className = "error";
resultDiv.style.display = "block";
return;
}
resultDiv.innerHTML = "Required New Shim Size: " + newShimSize.toFixed(3) + " mm";
resultDiv.className = "success";
resultDiv.style.display = "block";
}