Tire Size Conversion Calculator

Tire Size Conversion Calculator

Compare tire dimensions and speedometer accuracy

Current Tire

e.g., 215
e.g., 65
e.g., 15

New Tire

e.g., 225
e.g., 45
e.g., 17
Metric Current New Difference

Understanding Tire Size Conversions

When upgrading wheels or changing tire profiles, it is critical to understand how the new dimensions affect your vehicle's mechanics. Tire sizing uses a combination of metric (width in mm) and imperial (wheel diameter in inches) units.

The Tire Size Formula

To calculate the total diameter of a tire, you must account for the wheel and both the top and bottom sidewalls. The formula is:

Total Diameter = (Width × Aspect Ratio % × 2) + Wheel Diameter

How Speedometer Error Works

Your vehicle's speedometer is calibrated based on the number of revolutions your tires make per mile. If you install a larger tire, the circumference increases, meaning the tire covers more ground per revolution. Consequently, your speedometer will read slower than your actual speed. Conversely, a smaller tire will make your speedometer read faster than your actual speed.

Safety and Fitment Considerations

  • The 3% Rule: Most experts recommend keeping the total diameter change within +/- 3% of the original factory size to avoid transmission issues or brake system interference.
  • Clearance: Wider tires may rub against the fender or suspension components during sharp turns.
  • Load Rating: Ensure your new tires have a load index equal to or higher than the original equipment.

Calculation Example

Comparing a 215/65R15 to a 225/45R17:

  • 215/65R15 Diameter: 26.00 inches
  • 225/45R17 Diameter: 24.97 inches
  • Difference: -3.96% (Diameter decrease)
  • Speedo Error: When your speedometer reads 60 mph, you are actually traveling 57.6 mph.
function calculateTireDiff() { // Current Values var cW = parseFloat(document.getElementById('currWidth').value); var cR = parseFloat(document.getElementById('currRatio').value); var cD = parseFloat(document.getElementById('currWheel').value); // New Values var nW = parseFloat(document.getElementById('newWidth').value); var nR = parseFloat(document.getElementById('newRatio').value); var nD = parseFloat(document.getElementById('newWheel').value); if (isNaN(cW) || isNaN(cR) || isNaN(cD) || isNaN(nW) || isNaN(nR) || isNaN(nD)) { alert("Please enter valid numbers for all fields."); return; } // Calculations (mm to inches: / 25.4) var cSidewallMM = cW * (cR / 100); var cSidewallIN = cSidewallMM / 25.4; var cTotalDiam = (cSidewallIN * 2) + cD; var cCircum = cTotalDiam * Math.PI; var cRevs = 63360 / cCircum; // Inches in a mile var nSidewallMM = nW * (nR / 100); var nSidewallIN = nSidewallMM / 25.4; var nTotalDiam = (nSidewallIN * 2) + nD; var nCircum = nTotalDiam * Math.PI; var nRevs = 63360 / nCircum; var diamDiff = ((nTotalDiam – cTotalDiam) / cTotalDiam) * 100; var speedAt60 = 60 * (nTotalDiam / cTotalDiam); // Build Table var html = "; html += createRow('Sidewall Height', cSidewallIN.toFixed(2) + '"', nSidewallIN.toFixed(2) + '"', (nSidewallIN – cSidewallIN).toFixed(2) + '"'); html += createRow('Total Diameter', cTotalDiam.toFixed(2) + '"', nTotalDiam.toFixed(2) + '"', (nTotalDiam – cTotalDiam).toFixed(2) + '"'); html += createRow('Circumference', cCircum.toFixed(2) + '"', nCircum.toFixed(2) + '"', (nCircum – cCircum).toFixed(2) + '"'); html += createRow('Revs per Mile', cRevs.toFixed(0), nRevs.toFixed(0), (nRevs – cRevs).toFixed(0)); document.getElementById('resultBody').innerHTML = html; // Speedo Notice var notice = document.getElementById('speedoNotice'); var color = Math.abs(diamDiff) > 3 ? '#ffebee' : '#e8f5e9'; var textColor = Math.abs(diamDiff) > 3 ? '#c62828' : '#2e7d32'; var border = Math.abs(diamDiff) > 3 ? '1px solid #ef9a9a' : '1px solid #a5d6a7'; notice.style.backgroundColor = color; notice.style.color = textColor; notice.style.border = border; var warningText = Math.abs(diamDiff) > 3 ? " Warning: Difference is greater than 3%." : " Fitment looks safe within 3% variance."; notice.innerHTML = "Diameter Difference: " + diamDiff.toFixed(2) + "%Speedometer Reading 60mph: Actual Speed will be " + speedAt60.toFixed(1) + " mph." + warningText; document.getElementById('tireResults').style.display = 'block'; } function createRow(label, curr, newVal, diff) { return '' + '' + label + '' + '' + curr + '' + '' + newVal + '' + '' + diff + '' + ''; }

Leave a Comment