Changing your vehicle's tire size is more than just an aesthetic choice. It affects your gear ratios, speedometer accuracy, and clearance. This calculator allows you to input your current (stock) tire measurements and compare them against a potential new tire size to see exactly how the dimensions change.
Understanding Tire Specs
Width: The width of the tire from sidewall to sidewall in millimeters (e.g., 215mm).
Aspect Ratio: The height of the sidewall expressed as a percentage of the width (e.g., 65% of 215mm).
Wheel Diameter: The size of the rim the tire is mounted on, measured in inches.
The Importance of Overall Diameter
The most critical metric in tire comparison is the Overall Diameter. If your new tires are significantly taller than your stock tires, your speedometer will read slower than you are actually moving. Conversely, a smaller diameter tire will make your speedometer read faster than your actual speed.
Realistic Example
If you move from a 215/65R15 to a 225/70R16:
The diameter increases from 26.00 inches to 28.40 inches (a 9.2% increase).
When your speedometer says 60 mph, you are actually traveling 65.5 mph.
Your vehicle will sit 1.2 inches higher off the ground due to the increased radius.
Calculations and Formulas
To find the diameter, we use the formula: Diameter = ((Width * Aspect Ratio / 100) * 2 / 25.4) + Wheel Diameter. We then multiply the diameter by Pi (3.14159) to find the circumference, which dictates how far the car travels in one wheel revolution.
function compareTires() {
var w1 = parseFloat(document.getElementById('w1').value);
var a1 = parseFloat(document.getElementById('a1').value);
var d1 = parseFloat(document.getElementById('d1').value);
var w2 = parseFloat(document.getElementById('w2').value);
var a2 = parseFloat(document.getElementById('a2').value);
var d2 = parseFloat(document.getElementById('d2').value);
if (isNaN(w1) || isNaN(a1) || isNaN(d1) || isNaN(w2) || isNaN(a2) || isNaN(d2)) {
alert("Please enter valid numeric values for all fields.");
return;
}
// Tire 1 Logic
var sidewall1 = (w1 * (a1 / 100)) / 25.4; // inches
var totalDiam1 = (sidewall1 * 2) + d1;
var circum1 = totalDiam1 * Math.PI;
var revs1 = 63360 / circum1; // Revs per mile
// Tire 2 Logic
var sidewall2 = (w2 * (a2 / 100)) / 25.4; // inches
var totalDiam2 = (sidewall2 * 2) + d2;
var circum2 = totalDiam2 * Math.PI;
var revs2 = 63360 / circum2;
// Differences
var diamDiff = totalDiam2 – totalDiam1;
var diamPerc = (diamDiff / totalDiam1) * 100;
var rideHeight = diamDiff / 2;
var actualSpeedAt60 = 60 * (totalDiam2 / totalDiam1);
var resultBody = document.getElementById('result-body');
var speedoInfo = document.getElementById('speedo-info');
var rows = [
['Sidewall Height', sidewall1.toFixed(2) + '"', sidewall2.toFixed(2) + '"', (sidewall2 – sidewall1).toFixed(2) + '"'],
['Total Diameter', totalDiam1.toFixed(2) + '"', totalDiam2.toFixed(2) + '"', diamDiff.toFixed(2) + '" (' + diamPerc.toFixed(1) + '%)'],
['Circumference', circum1.toFixed(2) + '"', circum2.toFixed(2) + '"', (circum2 – circum1).toFixed(2) + '"'],
['Revs per Mile', revs1.toFixed(0), revs2.toFixed(0), (revs2 – revs1).toFixed(0)]
];
var html = "";
for (var i = 0; i 0) ? "diff-positive" : "diff-negative";
html += "
";
html += "
" + rows[i][0] + "
";
html += "
" + rows[i][1] + "
";
html += "
" + rows[i][2] + "
";
html += "
" + rows[i][3] + "
";
html += "
";
}
resultBody.innerHTML = html;
var speedoText = "Speedometer Accuracy:";
if (Math.abs(diamPerc) < 0.1) {
speedoText += "Speedometer will be accurate.";
} else {
speedoText += "When your speedometer reads 60 mph, you are actually traveling " + actualSpeedAt60.toFixed(1) + " mph.";
}
speedoText += "Ride Height: Your vehicle will sit " + Math.abs(rideHeight).toFixed(2) + "\" " + (rideHeight > 0 ? "higher" : "lower") + ".";
speedoInfo.innerHTML = speedoText;
document.getElementById('comparison-result').style.display = 'block';
}