In the world of precision shooting and ballistics, MOA (Minute of Angle) and MIL (Milliradian) are the two primary systems used to measure angular distance. While they both serve the same purpose—measuring the angle of a shot's deviation or a scope's adjustment—they use different units of measurement.
What is MOA?
MOA stands for Minute of Angle. A circle is divided into 360 degrees, and each degree is divided into 60 minutes. Therefore, one MOA is 1/60th of a degree. At 100 yards, 1 MOA equals approximately 1.047 inches. Most shooters simplify this to "1 inch at 100 yards" for quick calculations in the field.
What is a MIL?
MIL is short for Milliradian (mrad). It is a unit of angular measurement equal to 1/1000th of a radian. Because the metric system is based on tens, MILs are often perceived as easier to calculate for those using meters. At 100 meters, 1 MIL equals exactly 10 centimeters. At 100 yards, 1 MIL equals 3.6 inches.
Conversion Formulas
To convert MOA to MIL: MOA ÷ 3.4377
To convert MIL to MOA: MIL × 3.4377
1 MIL at 100 yards: 3.6 inches
1 MOA at 100 yards: 1.047 inches
Real-World Example
Imagine your spotter tells you that your impact was 2.5 MILs low, but your scope has MOA turrets. To make the correct adjustment, you would multiply 2.5 by 3.4377, which equals roughly 8.6 MOA. If your scope has 1/4 MOA clicks, you would dial 34 or 35 clicks upward.
MOA Value
MIL Equivalent
Linear at 100 Yards
1 MOA
0.29 MIL
1.047″
3.44 MOA
1.00 MIL
3.600″
10 MOA
2.91 MIL
10.47″
34.38 MOA
10.00 MIL
36.00″
function calculateFromMoa() {
var moaValue = document.getElementById("inputMoa").value;
var milInput = document.getElementById("inputMil");
if (moaValue && !isNaN(moaValue)) {
var milValue = parseFloat(moaValue) / 3.43774677;
milInput.value = milValue.toFixed(3);
updateLinearValues();
} else {
milInput.value = "";
document.getElementById("results-display").style.display = "none";
}
}
function calculateFromMil() {
var milValue = document.getElementById("inputMil").value;
var moaInput = document.getElementById("inputMoa");
if (milValue && !isNaN(milValue)) {
var moaValue = parseFloat(milValue) * 3.43774677;
moaInput.value = moaValue.toFixed(3);
updateLinearValues();
} else {
moaInput.value = "";
document.getElementById("results-display").style.display = "none";
}
}
function updateLinearValues() {
var moa = parseFloat(document.getElementById("inputMoa").value);
var mil = parseFloat(document.getElementById("inputMil").value);
var distance = parseFloat(document.getElementById("targetDistance").value);
var unit = document.getElementById("distanceUnit").value;
var resultDiv = document.getElementById("linearResult");
var displayBox = document.getElementById("results-display");
if (isNaN(moa) || isNaN(mil)) {
displayBox.style.display = "none";
return;
}
displayBox.style.display = "block";
if (isNaN(distance) || distance <= 0) {
resultDiv.innerHTML = "Quick Ratio: 1 MIL = 3.438 MOA.Enter a distance to see linear group sizes.";
return;
}
var moaInches, milInches;
if (unit === "yards") {
moaInches = (moa * 1.047197) * (distance / 100);
milInches = (mil * 3.6) * (distance / 100);
resultDiv.innerHTML = "At " + distance + " yards:" +
"• " + moa.toFixed(2) + " MOA = " + moaInches.toFixed(2) + " inches" +
"• " + mil.toFixed(2) + " MIL = " + milInches.toFixed(2) + " inches";
} else {
// Meters calculation
var moaCm = (moa * 2.90888) * (distance / 100);
var milCm = (mil * 10) * (distance / 100);
resultDiv.innerHTML = "At " + distance + " meters:" +
"• " + moa.toFixed(2) + " MOA = " + moaCm.toFixed(2) + " cm" +
"• " + mil.toFixed(2) + " MIL = " + milCm.toFixed(2) + " cm";
}
}
function resetMoaCalc() {
document.getElementById("inputMoa").value = "";
document.getElementById("inputMil").value = "";
document.getElementById("targetDistance").value = "";
document.getElementById("results-display").style.display = "none";
}