Enter a plane's intercepts on the a, b, and c axes to get its Miller indices with clear step-by-step working.
How to use our Miller Indices Calculator
- Enter the plane intercept on each axis in unit-cell multiples: use values like 1, 1/2, 2, or -1 for Plane intercept on a axis, Plane intercept on b axis, and Plane intercept on c axis.
- If the plane is parallel to an axis, type inf or infinity for that intercept so the calculator can turn that axis into index 0.
- Choose a Negative index display style if you want negatives shown as signed numbers, bar notation, or both. This changes display only, not the math.
- Click Calculate, then read Miller indices first and use Reciprocals of the intercepts, Fraction-clearing factor, and How it was worked out to see each step.
- Do a quick sanity check: if one intercept was entered as inf, the matching index should be 0, and if all three final numbers share a common factor, Reduced whole-number set should show the smaller equivalent form.

Definitions
Plane intercept: Where the plane crosses an axis, measured here as a multiple of a, b, or c.
Reciprocal: The value found by flipping a number, so 2 becomes 1/2 and 1/2 becomes 2.
Miller indices: The three whole numbers (h k l) found from the reciprocals of the intercepts after clearing fractions [1].
Parallel to an axis: The plane never meets that axis, so the intercept is treated as infinity and its reciprocal becomes 0 [1].
Fraction-clearing factor: The smallest whole-number multiplier that turns all reciprocal fractions into integers.
Reduced whole-number set: The final indices after removing any common whole-number factor, such as turning (2 2 2) into (1 1 1).
Bar notation: A crystallography way to show a negative index with a bar instead of a minus sign.
Common mistakes and quick fixes
Mistake: Entering 0 in Plane intercept on a axis , Plane intercept on b axis , or Plane intercept on c axis .
Fix: Use a real nonzero intercept, or enter inf if the plane is parallel to that axis. A true zero intercept cannot be used because its reciprocal is undefined.
Mistake: Typing a fraction unclearly, such as 1 / 2 with extra symbols or text in Plane intercept on b axis .
Fix: Enter clean values like 1/2, -1/2, 2, or 0.5 so Reciprocals of the intercepts can be computed correctly.
Mistake: Using 0 instead of inf for an axis the plane never meets.
Fix: If the plane is parallel to an axis, type inf or infinity . Then the matching part of Miller indices should become 0.
Mistake: Thinking Negative index display changes the calculation.
Fix: It only changes how negatives are shown. Check Miller indices and Bar notation to see the same plane written in different styles.
Mistake: Stopping after reciprocals and not clearing fractions, such as leaving 1, 2, and 3/2 as the final answer.
Fix: Look at Fraction-clearing factor and Reduced whole-number set . Miller indices should be reported as the smallest whole-number set.
Mistake: Ignoring the Note when a decimal entry was rounded to a fraction.
Fix: Read Note and, if needed, re-enter the intercept as an exact fraction like 1/3 instead of a rounded decimal like 0.333.
Limitations & Key Assumptions / Boundary Conditions
- This calculator is for plane Miller indices in a 3-axis setup using intercepts along a, b, and c only.
- Inputs must be nonzero finite numbers, fractions, decimals, or inf/infinity for a parallel axis. A true intercept of 0 is invalid.
- Decimals are converted to fractions with a bounded method, so repeating decimals such as 0.333 may be treated as approximations unless you enter an exact fraction like 1/3.
- The result must reduce to a valid nonzero whole-number set. If all three axes are entered as parallel and lead to (0 0 0), no valid Miller plane can be reported.
- Negative display style changes formatting only. It does not change the underlying indices.
- Real crystal descriptions can use extra conventions beyond this tool, such as direction indices or larger crystallography notation systems, which are outside this calculator's scope.
Methodology
Calculation steps
The calculator takes the three entered intercepts along the a, b, and c axes, written as p, q, and r.
(p, q, r) -> (1/p, 1/q, 1/r)
These reciprocals are the starting values for the plane indices [1]. If an entered intercept is inf, the plane is parallel to that axis, so its reciprocal is 0 [1].
if p = inf, then 1/p = 0
Next, the calculator finds the least common multiple of the reciprocal denominators and multiplies all three reciprocals by that value to get whole numbers.
L = lcm(denominators)
(h, k, l) = L x (1/p, 1/q, 1/r)
Finally, if the whole numbers still share a common factor, the calculator divides by the greatest common divisor of the nonzero absolute values to report the smallest equivalent set.
(h, k, l)_final = (h, k, l) / gcd_nonzero(|h|, |k|, |l|)
Worked mini-example
Suppose the intercepts are 1 on a, 1/2 on b, and 1/3 on c.
intercepts = (1, 1/2, 1/3)
reciprocals = (1, 2, 3)
L = 1
(h, k, l) = (1, 2, 3)
So the final Miller indices are (1 2 3). If one intercept had been inf, its reciprocal would be 0 and that position in the index would be 0.
How negatives are shown
If an intercept is negative, its reciprocal is also negative, so the matching Miller index is negative. The calculator can show that as a signed number like (-1 1 0), bar notation, or both. This follows the usual crystallography convention for negative indices.
Assumptions and limits used in the math
The method assumes you are converting plane intercepts, not crystal directions. It also assumes the entered values are exact when given as fractions or simple decimals. For long repeating decimals, the calculator may show a note because a rounded decimal can lead to a slightly different fraction and therefore a different whole-number set.