Find your perfect shoe size by measuring your foot length and width.
Standard Fit
Wide Fit
Narrow Fit
Your Estimated Shoe Size:
Understanding Shoe Sizing
Finding the right shoe size is crucial for comfort, foot health, and performance. This calculator helps estimate your shoe size based on precise foot measurements, taking into account length and width, as well as the intended shoe type (standard, wide, or narrow fit).
How it Works:
Shoe sizing systems vary globally, but they generally derive sizes from foot length. However, foot width is equally important for a comfortable and secure fit. Different shoe types are designed with varying width allowances.
Measurement Guide:
Foot Length: Stand on a flat surface with your heel against a wall. Measure from the tip of your longest toe to the edge of the wall. It's best to measure at the end of the day when feet are slightly larger.
Foot Width: Measure across the widest part of your foot, typically just below the ball of the foot.
Calculation Logic:
This calculator uses a common approach to convert measurements into standard shoe sizes (e.g., US, UK, EU). While exact conversion charts can vary slightly between brands, the core principle relies on foot length. The selected shoe type (standard, wide, narrow) adjusts the perceived size or suggests a corresponding width fitting.
Length Conversion: Foot length is mapped to a base shoe size. Different regions use different scales (e.g., Mondopoint, US, UK, EU). This calculator provides a general estimate often aligned with common US sizing conventions.
Width Adjustment:
Standard Fit: Uses the standard width associated with the calculated length.
Wide Fit: Indicates a need for a wider shoe, often a size up in width (e.g., 'D' or 'E' in US Men's, 'B' or 'C' in US Women's) or a specific wide size. For this calculator, it suggests a wider fit designation.
Narrow Fit: Indicates a need for a narrower shoe, often a size down in width (e.g., 'B' in US Men's, '2A' in US Women's) or a specific narrow size. For this calculator, it suggests a narrower fit designation.
Example Scenario:
Let's say your foot length is 26.0 cm and your foot width is 10.0 cm. You are looking for a Standard Fit shoe.
A foot length of 26.0 cm typically falls around a US Men's size 8 or 8.5.
A width of 10.0 cm for this length often corresponds to a standard or slightly wide foot.
The calculator might suggest a US Men's size 8.5 Standard Fit.
If you selected Wide Fit with the same measurements, the calculator would advise seeking a shoe designated as wide for that length, possibly a US Men's size 8.5 Wide (e.g., 8.5 E or 8.5 2E depending on the brand's scale).
Disclaimer: This calculator provides an estimation. Always try on shoes before purchasing and consult brand-specific size charts for the most accurate fit.
function calculateShoeSize() {
var lengthInput = document.getElementById("footLength");
var widthInput = document.getElementById("footWidth");
var shoeTypeSelect = document.getElementById("shoeType");
var resultDiv = document.getElementById("result");
var resultValueDiv = resultDiv.querySelector('.result-value');
var sizeDetailsP = document.getElementById("size-details");
var footLength = parseFloat(lengthInput.value);
var footWidth = parseFloat(widthInput.value);
var shoeType = shoeTypeSelect.value;
resultDiv.style.display = 'none'; // Hide previous result
// Validate inputs
if (isNaN(footLength) || footLength <= 0) {
alert("Please enter a valid foot length in centimeters.");
return;
}
if (isNaN(footWidth) || footWidth = 22.0 && footLength = 22.5 && footLength = 23.0 && footLength = 23.5 && footLength = 24.0 && footLength = 24.5 && footLength = 25.0 && footLength = 25.5 && footLength = 26.0 && footLength = 26.5 && footLength = 27.0 && footLength = 27.5 && footLength = 28.0 && footLength = 28.5 && footLength = 29.0 && footLength = 29.5 && footLength = 30.0 && footLength = 30.5) baseSize = 12.5; // Approximation for longer feet
// Determine width category (example thresholds for US Men's width)
// These are rough guides and can vary significantly by brand.
var widthCategory = "";
if (footWidth >= 7.0 && footWidth = 8.5 && footWidth = 10.0 && footWidth < 11.5) widthCategory = "Wide";
else widthCategory = "Extra Wide";
// Combine base size with shoe type preference
var sizeSuffix = "";
if (shoeType === "standard") {
sizeSuffix = widthCategory === "Narrow" ? "N" : (widthCategory === "Wide" || widthCategory === "Extra Wide" ? "W" : "");
widthDescription = "Standard Width";
if (widthCategory === "Narrow") widthDescription = "Consider a Narrow Fit";
if (widthCategory === "Wide") widthDescription = "Consider a Wide Fit";
if (widthCategory === "Extra Wide") widthDescription = "Consider an Extra Wide Fit";
} else if (shoeType === "wide") {
sizeSuffix = "W"; // Explicitly suggest wide
widthDescription = "Recommended: Wide Fit";
if (widthCategory === "Extra Wide") widthDescription = "Recommended: Extra Wide Fit";
} else if (shoeType === "narrow") {
sizeSuffix = "N"; // Explicitly suggest narrow
widthDescription = "Recommended: Narrow Fit";
}
// Construct the final estimated size string
// Displaying a representative size (e.g., US Men's range)
estimatedSize = baseSize + (sizeSuffix ? ` (${sizeSuffix})` : '');
// Refine width details based on user selection and calculated width
var detailedDescription = `Based on your measurements, your length suggests a general size around ${baseSize}. Your width is categorized as ${widthCategory}.`;
if (shoeType === "standard") {
detailedDescription += ` For a standard fit, consider ${baseSize}${sizeSuffix ? ` (${sizeSuffix})` : ''}.`;
if (widthCategory === "Narrow") detailedDescription += " You might need a narrow width.";
if (widthCategory === "Wide") detailedDescription += " You might need a wide width.";
if (widthCategory === "Extra Wide") detailedDescription += " You might need an extra-wide width.";
} else if (shoeType === "wide") {
detailedDescription += ` You've selected 'Wide Fit', so look for ${baseSize} Wide${sizeSuffix ? ` (${sizeSuffix})` : ''} or similar wide designations.`;
} else if (shoeType === "narrow") {
detailedDescription += ` You've selected 'Narrow Fit', so look for ${baseSize} Narrow${sizeSuffix ? ` (${sizeSuffix})` : ''} or similar narrow designations.`;
}
resultValueDiv.innerText = estimatedSize;
sizeDetailsP.innerText = detailedDescription;
resultDiv.style.display = 'block';
}