Dress Shirt Size Calculator

Dress Shirt Size Calculator

Find your perfect fit based on body measurements

Inches (in) Centimeters (cm)
Slim Fit (Close to body) Regular Fit (Standard) Relaxed/Classic (Roomier)

Recommended Size:

Neck Size:

Sleeve:

Target Chest:

Fit Type:

How to Find Your Perfect Dress Shirt Size

A well-fitting dress shirt is the foundation of a sharp wardrobe. Unlike casual t-shirts, dress shirts rely on specific anatomical measurements—primarily the neck and the sleeve length—to ensure comfort and style.

Essential Measurements Explained

  • Neck: Measure around the base of your neck where the collar sits. Put two fingers between the measuring tape and your neck to ensure enough breathing room.
  • Sleeve Length: Start from the center back of your neck, go over the top of your shoulder, and down to your wrist bone.
  • Chest: Measure around the widest part of your chest, keeping the tape flat across your back and under your arms.

Understanding Shirt Cuts

Your "Alpha Size" (S, M, L) is usually determined by your neck measurement, but the fit profile changes the silhouette:

Fit Style Best For
Slim Fit Athletic or lean builds; minimal excess fabric at the waist.
Regular Fit Average body types; balances comfort and shape.
Relaxed/Classic Larger builds or those who prefer a traditional, loose feel.

International Conversion Tips

If you are shopping for European brands, neck sizes are often in centimeters. A 15.5-inch neck is roughly a 39cm or 40cm. Always round up to the nearest half-inch or centimeter if you are between sizes to avoid a tight collar.

function toggleUnits() { var unit = document.getElementById("unitSystem").value; var neckInput = document.getElementById("neckSize"); var sleeveInput = document.getElementById("sleeveLength"); var chestInput = document.getElementById("chestSize"); if (unit === "cm") { neckInput.placeholder = "e.g. 40"; sleeveInput.placeholder = "e.g. 86"; chestInput.placeholder = "e.g. 102"; } else { neckInput.placeholder = "e.g. 15.5"; sleeveInput.placeholder = "e.g. 34"; chestInput.placeholder = "e.g. 40"; } } function calculateShirtSize() { var neck = parseFloat(document.getElementById("neckSize").value); var sleeve = parseFloat(document.getElementById("sleeveLength").value); var chest = parseFloat(document.getElementById("chestSize").value); var units = document.getElementById("unitSystem").value; var fit = document.getElementById("shirtFit").value; if (isNaN(neck) || isNaN(sleeve) || isNaN(chest)) { alert("Please enter all measurements to calculate your size."); return; } // Standardize to inches for the logic var nInches = (units === "cm") ? neck / 2.54 : neck; var sInches = (units === "cm") ? sleeve / 2.54 : sleeve; var cInches = (units === "cm") ? chest / 2.54 : chest; var alpha = "Unknown"; var note = ""; // Logic for Alpha Sizing (General Industry Standards) if (nInches = 14 && nInches = 15 && nInches = 16 && nInches = 17 && nInches = 18 && nInches < 19) { alpha = "XXL (2XL)"; } else { alpha = "3XL+"; } // Custom adjustments based on fit var chestBuffer = 0; if (fit === "slim") { chestBuffer = 2; // Slim fits usually have 2-3 inches of ease note = "Based on your preference for a Slim Fit, look for shirts labeled 'Slim' or 'Extra Slim' with darting in the back."; } else if (fit === "regular") { chestBuffer = 4; // Regular fits have 4-5 inches of ease note = "A Regular fit provides a standard balance of comfort and a professional silhouette."; } else { chestBuffer = 6; // Relaxed fits have 6+ inches of ease note = "Relaxed or Classic fits offer the most room through the chest and waist, ideal for maximum mobility."; } // Display Results document.getElementById("resultsArea").style.display = "block"; document.getElementById("alphaSize").innerText = alpha; if (units === "inches") { document.getElementById("resNeck").innerText = neck.toFixed(1) + "\""; document.getElementById("resSleeve").innerText = sleeve.toFixed(1) + "\""; document.getElementById("resChest").innerText = (chest + chestBuffer).toFixed(1) + "\" (Garment size)"; } else { document.getElementById("resNeck").innerText = neck.toFixed(1) + " cm"; document.getElementById("resSleeve").innerText = sleeve.toFixed(1) + " cm"; document.getElementById("resChest").innerText = (chest + (chestBuffer * 2.54)).toFixed(1) + " cm (Garment size)"; } document.getElementById("resFit").innerText = fit.charAt(0).toUpperCase() + fit.slice(1); document.getElementById("sizeNote").innerText = note; // Scroll to results document.getElementById("resultsArea").scrollIntoView({ behavior: 'smooth', block: 'nearest' }); }

Leave a Comment