Use this calculator to compare your current wheel and tire setup with a potential new setup. Understand how changes in wheel diameter, width, offset, and tire dimensions will affect your vehicle's fender and suspension clearance, as well as your speedometer accuracy.
Current Setup
New Setup
Understanding Rim Fitment
Rim fitment refers to how a wheel and tire assembly sits on a vehicle, specifically concerning its dimensions relative to the car's fenders, suspension components, and brake calipers. Proper fitment is crucial for safety, performance, and aesthetics. An incorrect fit can lead to rubbing, premature tire wear, handling issues, and even damage to your vehicle.
Key Terms Explained:
Wheel Diameter (inches): The diameter of the wheel, measured from bead seat to bead seat. Common sizes range from 15 to 24 inches or more.
Wheel Width (inches): The width of the wheel, measured from bead seat to bead seat. This is the nominal width, not the overall width including the lips.
Wheel Offset (mm): The distance from the wheel's mounting surface to the centerline of the wheel.
Positive Offset: The mounting surface is towards the front (outboard) of the wheel's centerline. This pushes the wheel further into the fender well.
Negative Offset: The mounting surface is towards the rear (inboard) of the wheel's centerline. This pushes the wheel further out from the fender well.
Zero Offset: The mounting surface is exactly at the wheel's centerline.
Tire Width (mm): The width of the tire's tread in millimeters (e.g., 225 in 225/45R17).
Tire Aspect Ratio (%): The height of the tire's sidewall as a percentage of its width (e.g., 45 in 225/45R17 means the sidewall height is 45% of 225mm).
Tire Sidewall Height: The vertical distance from the wheel rim to the outer tread of the tire.
Tire Overall Diameter: The total height of the tire when mounted and inflated.
Wheel Backspacing (mm): The distance from the wheel's mounting surface to the inner edge of the wheel. This is critical for inner clearance (suspension, brakes).
Wheel Front Spacing (mm): The distance from the wheel's mounting surface to the outer edge of the wheel. This is critical for outer clearance (fender).
How to Use the Calculator:
Enter Current Setup: Input the specifications of your vehicle's existing wheels and tires. You can usually find tire dimensions on the tire's sidewall (e.g., 225/45R17). Wheel diameter and width are often stamped on the wheel itself or found in your vehicle's manual. Offset can be harder to find; you might need to measure it or look up your OEM wheel specs.
Enter New Setup: Input the specifications of the wheels and tires you are considering.
Calculate: Click the "Calculate Fitment" button.
Interpret Results: The calculator will show you the exact dimensions for both setups and, more importantly, the differences. Pay close attention to the "Fitment Changes" section.
Interpreting the Results:
Outer Clearance Change: A positive value means the new wheel/tire will stick out further, increasing the risk of rubbing against the fender lip, especially during turns or suspension compression. A negative value means it will sit further in.
Inner Clearance Change: A positive value means the new wheel/tire will move closer to the suspension components (struts, control arms) or brake calipers. A negative value means it will move further away, increasing inner clearance. Ensure you have at least 5-10mm of clearance here.
Overall Diameter Change: A significant change in overall tire diameter will affect your speedometer reading. If the new tire is taller, your speedometer will read slower than your actual speed. If it's shorter, it will read faster.
Speedometer Error: This indicates the percentage difference in speed. A 3% error is generally considered acceptable, but larger errors can be dangerous and may be illegal in some regions.
Always double-check measurements and consider professional advice before making significant changes to your wheel and tire setup.
.calculator-container {
font-family: 'Arial', sans-serif;
max-width: 800px;
margin: 20px auto;
padding: 25px;
background: #f9f9f9;
border-radius: 10px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
border: 1px solid #ddd;
}
.calculator-container h2 {
text-align: center;
color: #333;
margin-bottom: 20px;
font-size: 2em;
}
.calculator-container h3 {
color: #555;
margin-top: 25px;
margin-bottom: 15px;
font-size: 1.4em;
border-bottom: 2px solid #eee;
padding-bottom: 5px;
}
.calculator-container h4 {
color: #666;
margin-top: 20px;
margin-bottom: 10px;
font-size: 1.2em;
}
.calculator-container p {
line-height: 1.6;
color: #444;
margin-bottom: 10px;
}
.calc-inputs {
display: flex;
flex-wrap: wrap;
gap: 20px;
margin-bottom: 20px;
justify-content: center;
}
.input-group {
flex: 1;
min-width: 300px;
padding: 15px;
background: #fff;
border-radius: 8px;
border: 1px solid #e0e0e0;
}
.input-group label {
display: block;
margin-bottom: 8px;
color: #333;
font-weight: bold;
font-size: 0.95em;
}
.input-group input[type="number"] {
width: calc(100% – 20px);
padding: 10px;
margin-bottom: 15px;
border: 1px solid #ccc;
border-radius: 5px;
font-size: 1em;
box-sizing: border-box;
}
.calculate-button {
display: block;
width: 100%;
padding: 15px 20px;
background-color: #007bff;
color: white;
border: none;
border-radius: 5px;
font-size: 1.1em;
cursor: pointer;
transition: background-color 0.3s ease;
margin-top: 20px;
}
.calculate-button:hover {
background-color: #0056b3;
}
.calc-results {
margin-top: 30px;
padding: 20px;
background: #e9f7ef;
border: 1px solid #d4edda;
border-radius: 8px;
color: #155724;
font-size: 1.1em;
line-height: 1.8;
}
.calc-results h3 {
color: #155724;
margin-top: 0;
border-bottom: 1px solid #c3e6cb;
padding-bottom: 10px;
}
.calc-results p {
margin-bottom: 8px;
color: #155724;
}
.calc-results strong {
color: #0f3d1a;
}
.article-content {
margin-top: 40px;
padding-top: 20px;
border-top: 1px solid #eee;
}
.article-content ul {
list-style-type: disc;
margin-left: 20px;
margin-bottom: 15px;
color: #444;
}
.article-content ol {
list-style-type: decimal;
margin-left: 20px;
margin-bottom: 15px;
color: #444;
}
.article-content li {
margin-bottom: 8px;
line-height: 1.5;
}
@media (max-width: 768px) {
.calc-inputs {
flex-direction: column;
align-items: center;
}
.input-group {
min-width: unset;
width: 100%;
}
}
function calculateFitment() {
// Get current setup inputs
var currentWheelDiameter = parseFloat(document.getElementById('currentWheelDiameter').value);
var currentWheelWidth = parseFloat(document.getElementById('currentWheelWidth').value);
var currentWheelOffset = parseFloat(document.getElementById('currentWheelOffset').value);
var currentTireWidth = parseFloat(document.getElementById('currentTireWidth').value);
var currentTireAspect = parseFloat(document.getElementById('currentTireAspect').value);
// Get new setup inputs
var newWheelDiameter = parseFloat(document.getElementById('newWheelDiameter').value);
var newWheelWidth = parseFloat(document.getElementById('newWheelWidth').value);
var newWheelOffset = parseFloat(document.getElementById('newWheelOffset').value);
var newTireWidth = parseFloat(document.getElementById('newTireWidth').value);
var newTireAspect = parseFloat(document.getElementById('newTireAspect').value);
// Validate inputs
if (isNaN(currentWheelDiameter) || isNaN(currentWheelWidth) || isNaN(currentWheelOffset) || isNaN(currentTireWidth) || isNaN(currentTireAspect) ||
isNaN(newWheelDiameter) || isNaN(newWheelWidth) || isNaN(newWheelOffset) || isNaN(newTireWidth) || isNaN(newTireAspect) ||
currentWheelDiameter <= 0 || currentWheelWidth <= 0 || currentTireWidth <= 0 || currentTireAspect <= 0 ||
newWheelDiameter <= 0 || newWheelWidth <= 0 || newTireWidth <= 0 || newTireAspect <= 0) {
document.getElementById('result').innerHTML = 'Please enter valid positive numbers for all fields.';
return;
}
// Constants
var MM_PER_INCH = 25.4;
// — Current Setup Calculations —
var currentTireSidewallHeight = (currentTireWidth * (currentTireAspect / 100)); // mm
var currentTireOverallDiameter = currentWheelDiameter + (2 * currentTireSidewallHeight / MM_PER_INCH); // inches
// Wheel width in mm for backspacing/frontspacing calculations
var currentWheelWidth_mm = currentWheelWidth * MM_PER_INCH;
var currentWheelCenterline_mm = currentWheelWidth_mm / 2;
var currentWheelBackspacing = currentWheelCenterline_mm + currentWheelOffset; // mm (distance from mounting surface to inner lip)
var currentWheelFrontSpacing = currentWheelCenterline_mm – currentWheelOffset; // mm (distance from mounting surface to outer lip)
// — New Setup Calculations —
var newTireSidewallHeight = (newTireWidth * (newTireAspect / 100)); // mm
var newTireOverallDiameter = newWheelDiameter + (2 * newTireSidewallHeight / MM_PER_INCH); // inches
// Wheel width in mm for backspacing/frontspacing calculations
var newWheelWidth_mm = newWheelWidth * MM_PER_INCH;
var newWheelCenterline_mm = newWheelWidth_mm / 2;
var newWheelBackspacing = newWheelCenterline_mm + newWheelOffset; // mm
var newWheelFrontSpacing = newWheelCenterline_mm – newWheelOffset; // mm
// — Fitment Changes —
var outerClearanceChange = newWheelFrontSpacing – currentWheelFrontSpacing; // mm
var innerClearanceChange = newWheelBackspacing – currentWheelBackspacing; // mm (positive means closer to suspension)
var overallDiameterChange = newTireOverallDiameter – currentTireOverallDiameter; // inches
// Speedometer Error
var speedometerRatio = newTireOverallDiameter / currentTireOverallDiameter;
var speedometerErrorPercent = ((speedometerRatio – 1) * 100);
var resultHTML = '
';
if (outerClearanceChange > 0) {
resultHTML += 'Outer Clearance Change: The new wheel/tire will extend ' + outerClearanceChange.toFixed(2) + ' mm further out compared to your current setup.';
} else if (outerClearanceChange < 0) {
resultHTML += 'Outer Clearance Change: The new wheel/tire will sit ' + Math.abs(outerClearanceChange).toFixed(2) + ' mm further in compared to your current setup.';
} else {
resultHTML += 'Outer Clearance Change: The new wheel/tire will sit at the same outer position as your current setup.';
}
if (innerClearanceChange > 0) {
resultHTML += 'Inner Clearance Change: The new wheel/tire will move ' + innerClearanceChange.toFixed(2) + ' mm closer to suspension components compared to your current setup.';
} else if (innerClearanceChange < 0) {
resultHTML += 'Inner Clearance Change: The new wheel/tire will move ' + Math.abs(innerClearanceChange).toFixed(2) + ' mm away from suspension components compared to your current setup.';
} else {
resultHTML += 'Inner Clearance Change: The new wheel/tire will maintain the same inner clearance as your current setup.';
}
if (overallDiameterChange > 0) {
resultHTML += 'Overall Diameter Change: The new tire will be ' + overallDiameterChange.toFixed(2) + ' inches taller than your current tire.';
} else if (overallDiameterChange < 0) {
resultHTML += 'Overall Diameter Change: The new tire will be ' + Math.abs(overallDiameterChange).toFixed(2) + ' inches shorter than your current tire.';
} else {
resultHTML += 'Overall Diameter Change: The new tire will have the same overall diameter as your current tire.';
}
if (Math.abs(speedometerErrorPercent) > 0.01) { // Check for significant error
if (speedometerErrorPercent > 0) {
resultHTML += 'Speedometer Error: Your speedometer will read approximately ' + speedometerErrorPercent.toFixed(2) + '% slower than your actual speed (actual speed is faster).';
} else {
resultHTML += 'Speedometer Error: Your speedometer will read approximately ' + Math.abs(speedometerErrorPercent).toFixed(2) + '% faster than your actual speed (actual speed is slower).';
}
resultHTML += '(Example: If your speedometer reads 60 mph, your actual speed will be approximately ' + (60 * speedometerRatio).toFixed(2) + ' mph)';
} else {
resultHTML += 'Speedometer Error: The change in tire diameter is negligible, so your speedometer error will be minimal.';
}
document.getElementById('result').innerHTML = resultHTML;
}