Miller Indices for Crystal Directions and Planes

Miller indices are one of the most non-intuitive concepts most people encounter in an introductory course. And, since a few notation differences can completely change the meaning, advanced students also come back to review Miller Indices.

In this article, I’ll explain what Miller indices are, why they’re important, and how you can read and write them. Advanced students can skip directly to the Review if they’re just looking for a quick refresher.

Miller Indices are a 3-dimensional coordinate system for crystals, based on the unit cell. This coordinate system can indicate directions or planes, and are often written as (hkl). Some common examples of Miller Indices on a cube include [111], the body diagonal; [110], the face diagonal; and (100), the face plane.

By the time you finish this article, you’ll know what those numbers and symbols mean!

Basic Notation

The first assumption of Miller Indices is that you know the crystal family. If you don’t know what crystals are, this topic will be super confusing–you might want to check out this article first. If you’re not sure about the different crystal families, you can read an explanation in this article about Bravais Lattices, but as long as you know what a “cube” is, you can understand Miller Indices.

Every crystal can be depicted as a hexahedron (that means it has 6 faces, like a cube). There are some crystallographic coordinate systems which have “extra” dimensions, like the (hkil) Miller-Bravais system for hexagonal crystals, but you can always reduce a conventional crystal cell into a primitive cell which is easily described by the (hkl) Miller Indices.

This article will continue with the traditional Miller Indices.

Miller Indices are a coordinate system (like the cartesian or polar coordinate systems you learned in high school), so the first thing you need is an origin.

The origin is the point (0,0,0) and you can define it anywhere in your crystal. In most cases, the back left corner of the crystal is the most natural point to define the origin.

You also need a sense of scale. For miller indices, the scale is the size of the unit cell. In other words, the value “0” is the origin of one unit cell, and the value “1” is the origin for the next unit cell over.

Miller indices also have weird way of writing negatives. Allegedly this was developed to save space in old crystallography journals. Instead of writing negative 1 as “-1,” we write it as “\bar{1}” and pronounce it as “bar one.” If you saw [0\bar{1}0] you would pronounce that like “the zero bar one zero direction.”

It’s also important to remember that crystals are defined by their symmetry. That’s why the choice of origin is arbitrary. In some cases, we may want to distinguish between a specific direction, and all equivalent directions. We make this distinction with brackets.

  • Square brackets [] indicate a specific direction. For example, in a cubic system [100] and [010] are perpendicular directions.
  • Angle brackets <> indicate a family of directions. For example, in a cubic system \langle 100 \rangle includes these directions [100], [\bar{1}00], [010], [0\bar{1}0], [001], and [00\bar{1}]
  • Parenthesis () indicate a specific plane. For example, in a cubic system (100) and (010) are perpendicular planes.
  • Curly brackets {} indicate a family of planes. For example, in a cubic system \{100\} includes (100), (\bar{1}00), (010), (0\bar{1}0), (001), and (00\bar{1})

Don’t worry, these general rules will make sense when we apply them to the specific case of points, directions, and planes.

Crystallographic Coordinate System

Miller indices use a coordinate system which is very similar to the cartesian coordinate system. The cartesian system is the regular 2D or 3D coordinate system you used in high school, which has 3 perpendicular axes x, y, and z.

If you want a review of the cartesian system, click to expand.

Imagine you had a box with a length of 4, a width of 2, and a height of 3. Put the bottom left corner of the box at the origin of your cartesian 3D system. What is the position of the top right corner?

If you followed this picture, you can see that the top right corner of the box is at the point  (4, 2, 3) . Its position is 4 spaces along the X-axis, 2 spaces along the Y-axis, and 3 spaces along the Z-axis.

By definition, the origin is at  (0, 0, 0) because it is 0 spaces along each axis.

The only thing that changes between the crystallographic cartesian system and the version you learned in high school is the axes orientation.

In high school, you probably saw the X-axis travel to the right, the Y-axis travel upwards, and the Z-axis wasn’t shown, but travelled out of the page.

In crystallography, we use the Z-axis much more than in high school math. A clearer way to draw these axes is to have the X axis travel towards you (down and left), the Y axis travel to the right, and the Z-axis travel upwards.

So the point  (1, 2, 3) would exist 1 step toward you, 2 steps to the right, and 3 steps up (NOT 1 step right, 2 steps up, and 3 steps out of the page).

The final thing to remember about crystallographic coordinates is that the X-, Y-, and Z-axes may not be perpendicular to each other. In the cartesian system, they are always perpendicular. In a cubic crystallographic system, they are also perpendicular, because the cubic lattice parameters are perpendicular.

However, not all crystals have perpendicular lattice parameters. For example, a hexagonal lattice has 2 lattice parameters that are 120º to each other, which are both perpendicular to the 3rd lattice parameter.

As you can see, the point  (1, 1, 1) looks a bit different depending whether you have a cubic or hexagonal crystal structure. It’s impossible to discuss Miller Indices without knowing the underlying crystal structure.

Miller Indices for Points

Technically, Miller Indices don’t exist for points–but materials scientists and crystallographers represent points with an unnamed notation system that is very similar to Miller Indices, so I will explain that here. The main notation is that you use parentheses () and commas. The way you write them is exactly the way you write cartesian coordinates.

I’ve actually used this notation system earlier in the article, and I’m sure you understood, because it’s very intuitive. You just need to follow the basic rules–0 is at the origin, and 1 is the distance of 1 unit cell. We also use the letter “h,” k,” and “l” to designate the 3 different lattice parameters.

For example, in the cubic system, the 3 lattice parameters have the same length and are all perpendicular to each other (this is the definition of cubic). So, for all cubic crystals, “h” is the length of the cube’s edge in the x-direction. “k” is the length of the cube’s edge in the y-direction. “l” is the length of the cube in the z-direction.

The same rules apply even in noncubic cases, but since the vector’s aren’t perpendicular to each other, the terms “x-axis, y-axis, and z-axis” don’t really make sense.

The point  (1, 1, 1) will always be the top right corner, opposite the origin. The point  (\frac{1}{2},  \frac{1}{2},  \frac{1}{2}) will always be the center of the crystal.

Remember, when describing points you write the point as (h, k, l). You also use negative signs, rather than the “bar” notation. In other words, you write  (-h, -k, -l) instead of (\bar{h}, \bar{k}, \bar{l}).

Miller Indices for Directions

To describe a direction, all you need to know is the point you want to travel to, relative to the origin. For example, if you want to travel to the right, the point directly to the right of the origin  (0, 0, 0) is  (0, 1, 0) . All you need to do is take this point and properly format it.

If you remember, the format for directions is a square bracket  [hkl] . If you wanted to talk about the family of directions, use angle brackets \langle hkl \rangle .

So, to indicate the direction “right” in a cubic crystal you would write  [010] . The direction “left” would be  [0\bar{1}0] .

The  [010] direction looks a bit different in the hexagonal system, but it’s still just the length and direction of the 2nd lattice parameter. If you wanted to show a line to the “right” in a hexagonal system (depending on where we define the original axes), you would need to use a linear combination of 2 lattice parameters. In other words,  [110] .

Finally, it’s customary to reduce fractions. The “length” of the direction doesn’t matter. If you wanted to indicate a direction that travels ¼ up the x-axis while going all the way across the y-axis, it’s traditional to write that as  [140] instead of  [\frac{1}{4}10] , by multiplying that latter version by four until everything is a whole number.

Miller Indices for Planes

Reading Miller indices for planes is a bit different, because we have to enter “reciprocal space.”

Reciprocal space means you take the inverse of whatever point you were thinking of. The inverse of 1 is still 1, the inverse of 2 is ½, and the inverse of 0 is infinity. 

Here is the 3-step process to find the miller indices for planes.

  1. Find the point where the plane intersects each axis. If the plane never intersects an axis because it is parallel to that axis, the intersection point is ∞.
  2. Take the inverse of each intersection point.
  3. Put those 3 values in the proper (hkl) format. Remember that negatives are expressed with a bar, parenthesis () indicate a specific plane, and curly brackets {} indicate the family of planes. Don’t use any commas or spaces!

In a cubic system, it turns out that the direction  [hlk] will always be perpendicular to the plane  (hkl) . For example the  [110] direction is perpendicular to the  (110) plane.

This is not necessarily true in non-cubic systems.

Directional Families

Directional families are the set of identical directions or planes. These families are identical because of symmetry.

Imagine that I handed you a cube and asked you to draw the  [100] . By now, I hope you could do this easily! However, if I gave the same cube to someone else, they would probably draw a different  [100] , because they chose a different origin or a different initial rotation.

The line you originally drew may look like  [001] compared to the other person’s version of  [100]

In this way, we can say that  [001] and  [100] belong to the same directional family. The only way to distinguish between the two is to define a consistent rotational frame of reference. This means that any material property which is true along  [100] will also be true of  [001] or any other direction in the  \langle 100 \rangle family.

To find the different directional families, find all the permutations that can replace  [hkl]  with a negative version, such as  [\bar{h}kl] or  [h\bar{k}\bar{l}] . If the lattice vectors are the same length and have the same angle between them, you can also change the order, such as  [klh] or  [hlk] .

Here is a list of the individual directions in the directional families  \langle 100 \rangle ,   \langle 110 \rangle  ,   \langle 111 \rangle  . If two directions belong to the same directional family, their corresponding planes will also belong to the same planar family.

Since the cubic lattice has the most symmetry, there are the most number of identical directions in each directional family. Imagine, however, that you had a tetragonal crystal that was longer in the  [100] direction than the  [001] direction. In this case, they would NOT belong to the same family.  [100] and  [010] would belong to the same family, which you could call  \langle 100 \rangle or   \langle 010 \rangle  . However, the   \langle 001 \rangle  family would only include  [001] and  [00\bar{1}] .

Identifying directional families becomes especially confusing if the lattice parameters h, k, and l are not perpendicular to each other. This was the main motivation for creating Miller-Bravais indices, which only apply to hexagonal crystals and convert the 3-term (hkl) values into 4-term (hkil) values. This conversion is a bit complex, but allows you to identify hexagonal directional families just based on the numerical value of the index.

Alternative Notations

Advanced topic, click to expand.

This is going into collapsable text because it’s an advanced topic, about different letters that may be used to designate different axes or positions along the axes.

In this article, I’ve tried to use h, k, and l, for the values inside the Miller Index, and x-axis, y-axis, and z-axis for the directions.

It’s also common to use “U,” “V,” and “W” to designate directions, as in [UVW] vs (hkl).

Additionally, the way I used x-, y- and z-axes is technically incorrect. We’re technically supposed to use the lattice vectors, rather than cartesian axes. In the cubic system, they are the same, but they are not the same in other crystal systems.

Lattice vectors are often described using the letters “  a ,” “  b ,” and “  c .” Sometimes you might see the latters “  a_1 ,” “  a_2 ,” and “  a_3 ,” although this notation is typically used only with primitive cells.

I have tried to write this article in a way that is most understandable for people trying to learn Miller Indices, but I think it’s important to know that you’ll see minor notational differences in real scientific journals or textbooks that discuss some theory of the indices. In most practical cases, you will just need to understand the meaning of basic indices such as  [100] ,  \langle 111 \rangle ,  (220) , and  \{110\} .


Now you know how to read and write Miller indices! For a quick review of notation:

  • (h, k, l) is for points. Remember to use the negative sign (-h) instead of bar sign (\bar{h}) and don’t reduce fractions–these rules apply to directions and planes.
  • [hkl] is for a specific direction.
  • <hkl> is for a family of directions.
  • (hkl) is for a specific plane. Remember about reciprocal (inverse) space in planes!
  • {hkl} is for a family of planes.

Before you go, you may be interested in practicing a few example problems.

Example Problems

Practice 1. Draw the  [100] ,  [111] , and  [010] directions in a cubic crystal.

Click here to check out the solution!
  1. Define an origin. I’ll choose the back left corner to define as my (0, 0, 0) point
  2. Find the corresponding (1, 0, 0), (1, 1, 1), and (0, 0, 1) points because they have the same (h, k, l) values as the directions you want.
  3. The line from the origin to these points, extending infinitely, is your direction.

Practice 2. Write the Miller Indices of the indicated direction.

Click here to check out the solution!

First, define an origin. It’s always okay to move the origin later, since crystals-by definition–repeat between unit cells. In this case, you need the origin to intersect along the indicated direction, so you can move the origin the back left corner. Alternatively, you could simply translate that vector so it intersects with the back-left corner.

Either way, you’ll see that it takes a movement of 0 unit cells in the x-direction, 0 unit cells in the y-direction, and 1 unit cell in the z-direction to move along that vector. Thus, the direction is [001].

Practice 3. Write the position of the point, and the Miller Index for the direction from the origin to the point. Assume the origin is at the back left corner.

Click here to check out the solution!

Hopefully it’s straightforward to find this point, especially since I labelled the position for you. You need to translate 1 unit cell in the x-direction, ⅔ unit cell in the y-direction, and ½ unit cell in the z-direction. Thus, the point is at location ( \frac{1}{2} ,\frac{2}{3}, \frac{1}{2}).

The direction would be identical, except that we prefer to avoid fractions. Remember that directions extend infinitely, so we can easily multiply the ( \frac{1}{2} ,\frac{2}{3}, \frac{1}{2}) value by 6, which is a common denominator. Thus, the direction is actually [343]

Practice 4. Draw the directions  [\bar{1}00] and  [010] , and write the Miller Index for the plane common to both directions.

Click here to check out the solution!

Hmm…What should you do about a negative value? Travel out of the unit cell? That’s a perfectly valid procedure, because there is an identical unit cell behind the original version. If you notice, in that 2nd unit cell it looks like the vector comes out of the front-left corner.

Because there’s always translational symmetry between unit cells, you can freely define a convenient origin (such as the front-left corner), change your frame of reference to a different unit cell, or simply translate the direction to stay within your current unit cell.

If we draw both directions like this, it’s clear that the plane between them is the “basal” plane, or the floor/roof (remember by translation, the floor of one unit cell is the roof of another).

To find the plane, we need to decide where it intersects with the lattice parameters. 

  1. This plane never intersects with the x-axis or y-axis, because it is parallel to them. Thus, the h value is ∞ and the k value is ∞. The plane intersects with the z-axis at point 0. By translation, 0 is also 1, so the l value is 1.
  2. The reciprocal of ∞ and 1 is 0 and 1.
  3. Thus, the (hkl) value of the plane is (001).
  4. As a sanity check, remember that in cubic systems, the [hkl] direction will be perpendicular to the (hkl) plane. By now I hope it’s easy to draw the [001] direction, which you can see is perpendicular to the (001) plane.

Practice 5. Draw the  (220) and  (111) planes in a cubic crystal.

Click here to check out the solution!

By the reciprocal rule, the (220) plane intersects the x-axis at ½, the y-axis at ½, and never intersects the z-axis. The (110) plane intersects the x-axis at 1, the y-axis at 1, and never intersects the z-axis. We can draw that like this.

Notice that the  (220) and  (110) are parallel, but not identical. If I had an atom at  (0, \frac{1}{2},  \frac{1}{2}) it would intersect the  (220) plane but not  (110) plane. This distinction matters more if you do diffraction experiments. 

Practice 6. Draw the  [110] direction and  (110) plane in the hexagonal lattice.

Click here to check out the solution!

Let’s first identify the direction. Remember, the hexagonal lattice parameters are not perpendicular, but I’ll keep calling them the x-, y-, and z-axes because that is more familiar for most of my readers.

The  [110] is one step in the x-direction and one step in the y-direction, like so:

To find the plane, let’s plot our intersection points. It will intersect the x- and y-axes at the end of the unit cell (reciprocal of 1 is 1), and will be parallel to the z-axis (reciprocal of 0 is infinity).

References and Further Reading

If you want to check your work, you can find a “Miller Index plane calculator” for cubic lattice from the University of Cambridge Dissemination of IT for the Promotion of Materials Science.

If you’re reading this article as an introductory student in materials science, welcome! I hope you can find many other useful articles on this website. You may be interested in a related article I’ve written about Atomic Packing Factor.

If you’re reading this article because you’re taking a class on structures, you may be interested in my other crystallography articles. Here is this list, in recommended reading order:

Introduction to Bravais Lattices
What is the Difference Between “Crystal Structure” and “Bravais Lattice”
Atomic Packing Factor
How to Read Miller Indices
How to Read Hexagonal Miller-Bravais Indices
Close-Packed Crystals and Stacking Order
Interstitial Sites
Primitive Cells
How to Read Crystallography Notation
What are Point Groups
List of Point Groups
What are Space Groups
List of Space Groups
The 7 Crystal Systems

If you are interested in more details about any specific crystal structure, I have written individual articles about simple crystal structures which correspond to each of the 14 Bravais lattices:

1. Simple Cubic
2. Face-Centered Cubic
2a. Diamond Cubic
3. Body-Centered Cubic
4. Simple Hexagonal
4a. Hexagonal Close-Packed
4b. Double Hexagonal Close-Packed (La-type)
5. Rhombohedral
5a. Rhombohedral Close-Packed (Sm-type)
6. Simple Tetragonal
7. Body-Centered Tetragonal
7a. Diamond Tetragonal (White Tin)
8. Simple Orthorhombic
9. Base-Centered Orthorhombic
10. Face-Centered Orthorhombic
11. Body-Centered Orthorhombic 
12. Simple Monoclinic 
13. Base-Centered Monoclinic 
14. Triclinic

Recommended Posts