← untetheredatom.com / TEM
Interactive Guide · TEM Series

How to index a diffraction pattern by hand

Index one pattern by hand and the software can never gaslight you again.

Every spot in an SAED pattern is a claim: this plane exists, at this spacing, in this direction. Indexing is how that claim gets checked, one g-vector at a time. This guide walks the same logic the live SAED indexer automates: find the transmitted beam, measure two g-vectors, read the extra spots honestly, and learn to recognize the handful of things in a diffraction pattern that are not Bragg spots at all.

1 · Finding 000 and measuring two g-vectors

Indexing an SAED pattern starts from just three points. The direct, undiffracted beam gives the origin, always labeled 000. Two more spots, close to the center and not on the same line through 000, give two vectors g1 and g2. Those three points generate the candidate zone axes; confirming the winner takes more of the pattern (extra spots, systematic-absence checks and, when you have them, calibrated d-spacings).

From g1 and g2 you measure three numbers: the distance from 000 to each spot, R1 and R2 (pixels are fine), and the angle φ between them. The ratio R2/R1 and the angle φ are the calibration-free carriers of crystallographic meaning: both R's scale with the camera length and the electron wavelength in exactly the same way, so that dependence cancels out of the ratio. (Absolute d-spacings, systematic absences and intensities carry information too; they are what a candidate answer gets checked against.) A zone axis can be identified without ever calibrating the camera constant, which is why the live indexer only ever asks for three clicks.

Click two spots to set g1 and g2.
Try it: pick a structure, then click the two spots closest to 000, they are the two the reference numbers in the table are built from. Compare your measured ratio and angle to the matching row. Real patterns carry many more spots further out, but the innermost ones are the least distorted and the easiest to measure precisely.

That comparison, does this ratio and this angle match a known pair of low-index planes, is the whole method. The live indexer runs the same comparison automatically against every point-group-equivalent family for six structure types and reports the closest fit with its residual error; the table above is that search done by hand against three candidates.

How much does that matter in practice? The two numbers are only as good as your clicks, so the honest question is not "is this signature unique" but "is it still unique once my measurement has real error in it". The explorer below answers that by brute force: it computes the signature of every symmetry-unique zone axis up to index 5 and keeps every one that falls inside the precision you set.

Try it: at the default 2% and 1.5°, every FCC zone axis in the list comes back unique, [1 1 0] included, and it stays unique even at 6% and 4°. The low-index answers are robust. Now pick a higher-index axis such as [2 2 1] or [3 2 1] and loosen the sliders to 6% and 4°: three candidates survive, and the panel names the reflection whose position tells them apart. Then set Do you know the structure? to no, with the sliders back at their tightest, and watch how much of the answer was coming from the structure rather than from the pattern.

Two things fall out of that, and neither is obvious from the formula. First, at any sensible measurement precision the low-index signatures in a known cubic structure really are unique, so the three-click method is sound. What makes indexing ambiguous is measurement error and not knowing the structure, not the method. Second, there is a pair the method cannot separate at all: [441] and [522] have the same |uvw| (both 33), are not related by any cubic symmetry operation, and generate identical nets in FCC, BCC and simple cubic. Their spot positions agree everywhere out to six times |g1|, further than any real pattern reaches, so no extra spot and no calibrated d-spacing tells them apart. That one needs a tilt to a second zone axis.

2 · What a g-vector actually is

A crystal is a stack of atomic planes. Every family of planes (hkl) has a spacing dhkl, and because a diffraction pattern is a map of reciprocal space, a corresponding vector ghkl that points perpendicular to those planes with length |ghkl| = 1/dhkl. Wide-apart planes make a short g-vector, close to 000; tightly packed planes make a long one, further out. That inverse relationship is the entire geometry of a diffraction pattern, the same one the Ewald sphere guide builds a sphere around.

For the high-symmetry systems the spacing has a closed form. Cubic and tetragonal axes are mutually perpendicular; the hexagonal cell is not orthogonal (γ = 120°) but still collapses to a compact expression of its own:

Cubic:  1/d² = (h² + k² + l²) / a²
Tetragonal:  1/d² = (h² + k²)/a² + l²/c²
Hexagonal:  1/d² = (4/3)(h² + hk + k²)/a² + l²/c²

On the microscope, the spot lands a distance R from 000 given by the camera equation R · dhkl = λL: λ is the electron wavelength (set by accelerating voltage) and L is the camera length. The product λL is the camera constant, fixed for one microscope and one setting, and it is exactly what a ratio of two R's cancels, the point made in Part 1.

Real space: the (hkl) planes, edge-on
Reciprocal space: ghkl
Try it: keep h, k, l fixed and drag the lattice parameter up. dhkl grows, the planes on the left spread apart, and the g-vector on the right shrinks back toward 000: the same inverse dance as the Ewald sphere guide's spacing slider, now tied to an actual Miller index instead of an abstract spacing.
For the physics-curious: lower-symmetry cells

Monoclinic and triclinic cells are not orthogonal, so 1/d² no longer separates into independent h, k, l terms: it needs the full metric tensor, the matrix of dot products between the real-space basis vectors. The live indexer builds that tensor from six cell parameters (a, b, c, α, β, γ) for its custom-lattice mode; the three formulas above are the special, diagonal case of the same tensor for cells with 90° angles.

3 · Precipitates and twins: reading the extra spots

Once the matrix is indexed, a second-phase precipitate, a twin, or a chemically ordered superstructure all announce themselves the same way: extra spots that do not belong to the matrix's own net. The tell is position. Expressed as fractions of the matrix's own g1 and g2, an extra spot commonly lands at a simple fraction: half-order positions, or third-order positions like the classic ⅓ and ⅔ points along a {422}-type row in FCC patterns, the signature of a Σ3 annealing twin.

Chemical ordering (L12, B2, D019…) produces the same kind of half-order spot for a related but different reason: the ordered structure's true unit cell is larger than the disordered parent's, so reflections that were forbidden in the small cell become weakly allowed in the large one. And a precipitate that shares a cube-cube (or other simple rational) orientation relationship with the matrix, common for carbides like M23C6 or MC in Ni-based alloys, tends to land at a simple fractional position for the same reason the orientation relationship is favorable in the first place: its lattice is already close to a rational multiple of the matrix's. In one verification pass on this site's indexer, the matched fractional position for an MC carbide (∼0.80–0.81) independently reproduced the true a(γ)/a(MC) ≈ 0.805 lattice ratio, a nice confirmation that the geometry was being read correctly.

Position alone cannot finish this job. A genuine twin and a coincidentally-positioned precipitate can land at the exact same fractional spot for related physical reasons, and no threshold on a single spot's position resolves that ambiguity: it needs information the spot itself does not carry. This is not a hedge, it is a measured result: testing this site's own classifier against 25 simulated precipitate/twin patterns, and separately against several real published Inconel 625 patterns, found the geometric ⅓-order test firing correctly for genuine twins and for coincidental cube-cube precipitates (M23C6, MX, M6C) every time, with no way to tell them apart from that one number.

You can test that claim rather than take it. The pattern below is generated from one hidden cause. Each of the three hypotheses predicts where extra spots should fall, and the tool scores every hypothesis against every extra spot in the pattern.

Try it: press New pattern a few times in FCC. A twin is never faked here: the fitted second phase reaches 8 of 12 spots and stops, because a single lattice ratio cannot put spots on third-order positions in two directions at once. Then switch the matrix to diamond cubic, where a third cause becomes possible, and keep pressing. When the hidden cause is double diffraction you will find that double diffraction and a fitted second phase both explain every spot, which is the ambiguity above happening in front of you rather than being asserted. Note the third column throughout: a hypothesis is only as good as the spots it predicts that are actually there.

What actually resolves it: tilt to a second zone axis and see whether the extra spots stay consistent with one extra lattice (a real second phase or twin) or shift the way a dynamical artifact would; put the objective aperture around just that spot and dark-field image it (a genuine precipitate lights up as discrete particles, a genuine twin lights up as one sharply-bounded region); or get a composition at that location (EDS/EELS). The live indexer's orientation-relationship predictor automates the geometric half of this: index the second phase's spots too, and it checks the two phases' relative rotation against a small library of named orientation relationships (Kurdjumov–Sachs, Nishiyama–Wassermann, Bain, Burgers, Shoji–Nishiyama, cube-cube).

Six named matrix–precipitate orientation relationships

Precipitates do not usually form in a random orientation relative to their matrix. Nucleating in the orientation that minimizes interfacial energy is favorable, and for many matrix/precipitate pairs that favorable orientation has a name, a discoverer, and a citation, which is exactly what the indexer's predictor checks a measured pattern against. Below is what each relationship actually says: a computed zone-axis pattern for all six, cubic–cubic and the two hexagonal ones alike, plus the verified definition and reference.

All six patterns above are computed, not drawn: each relationship's plane-parallel-plus-direction-parallel statement becomes an exact rotation matrix, the precipitate's zone axis is derived from it and snapped to the nearest low-index pole, and both phases' own allowed reflections are generated and projected into one shared frame. Burgers and Shoji–Nishiyama relate a cubic phase to a hexagonal one, which takes more than the cubic shortcut the other four use: hexagonal real-space directions and reciprocal-lattice (plane-normal) vectors are not parallel for a general index, the way they are in cubic, so both are built from true Cartesian hexagonal basis vectors instead of treating the indices themselves as coordinates, and the hcp structure-factor rule (forbidden only when h+2k is a multiple of 3 and l is odd) replaces the cubic all-even/all-odd and h+k+l-even rules. The payoff of doing it properly: the model was not told where the zone axes should land, and for both relationships they land exactly on the pole correspondence the literature reports.

RelationshipPhasesReference
Kurdjumov–Sachsfcc ↔ bccKurdjumov, G. & Sachs, G. “Über den Mechanismus der Stahlhärtung.” Zeitschrift für Physik 64, 325–343 (1930).
Nishiyama–Wassermannfcc ↔ bccNishiyama, Z. Sci. Rep. Tôhoku Imp. Univ. 23, 637–664 (1934); Wassermann, G. Mitt. Kaiser-Wilhelm-Inst. Eisenforschung 17, 149 (1935).
Bainfcc ↔ bccBain, E.C. “The Nature of Martensite.” Trans. AIME 70, 25–35 (1924).*
Burgersbcc ↔ hcpBurgers, W.G. “On the Process of Transition of the Cubic Body-Centered Modification into the Hexagonal Close-Packed Modification of Zirconium.” Physica 1, 561–586 (1934).
Shoji–Nishiyamafcc ↔ hcpDocumented in Nishiyama, Z. Martensitic Transformation (Academic Press, 1978).†
Cube-cubeany cubic ↔ cubicNot a discovery citation: the trivial, zero-misorientation case of a rational orientation relationship, by definition rather than by observation.

*Bain's paper runs pp. 25–35; some secondary sources cite through p. 46 or 47, which appears to include the published discussion and replies that followed it in the same Transactions volume. †The original 1930s Shoji–Nishiyama paper is not independently confirmed here; Nishiyama's 1978 monograph, the standard English-language reference for these relationships, documents it. Deliberately not included in this list: relationships this page could not independently verify with the same confidence, rather than risk a fabricated-looking precise citation on a public page.

4 · Real Bragg spot, or something else?

Not everything bright in a diffraction pattern is a first-order Bragg reflection of the phase you are indexing. Some of it is a genuine reflection that needs different handling (a different Laue zone, a defect's streak); some of it is real physics but not a point to index at all (a Kikuchi band); some of it is not diffraction from your specimen in any useful sense (contamination, a detector defect). Telling these apart before clicking 000/g1/g2 saves a wrong answer later.

Diagnose a spot in your own pattern

Check anything that applies to the spot you are unsure about; the hints build up below.

This clinic is about the individual spot you are deciding whether to click. For pattern-wide symptoms, fog across the whole image, a blurred whole pattern, rings layered over your spots, the scattering guide's artifact clinic covers those.

Key takeaways

For the physics-curious: the equations behind the pictures

Bragg's law, λ = 2d sinθ, sets the diffraction angle for spacing d. In reciprocal space each (hkl) becomes a vector g with |g| = 1/d, and diffraction occurs where the Ewald sphere (radius 1/λ) intersects a reciprocal lattice point, the Laue condition k − k₀ = g (see the Ewald sphere guide).

The camera equation follows from similar triangles between the specimen and the screen: R·d = λL. Because λ and L are the same for every spot in one exposure, R2/R1 = d1/d2 = |g2|/|g1|, independent of both.

Double diffraction: if g1 and g2 are both strongly excited, a beam can scatter off one and then the other, emerging as though diffracted by g1+g2. Reciprocal lattice vectors are closed under addition, so this new beam lands exactly on a real lattice point, even one the structure factor forbids for single scattering. The classic textbook case is diamond-cubic silicon: (200) is kinematically forbidden (all-even indices with h+k+l = 4n+2), yet two allowed {111}-type beams such as (1,1,1) and (−1,−1,1) sum exactly to (0,0,2) [1−1=0, 1−1=0, 1+1=2] and routinely light it up in real patterns.

Structure-factor extinction rules, why some hkl are systematically absent for single scattering, follow from the same kind of bookkeeping: body-centered structures require h+k+l even; face-centered structures require h, k, l all even or all odd; the diamond-cubic basis adds a further condition on the all-even case (h+k+l = 4n). These are the rules a phase's own crystal structure sets kinematically; double diffraction, precipitates, twins, and ordering all produce spots that look like they break these rules for reasons that have nothing to do with the rules being wrong.

Standard reference for all of the above and further reading: Williams & Carter, Transmission Electron Microscopy (Springer), the extinction-rules and double-diffraction chapters especially.

Cite this page: Tripathy, Manisha. “How to Index an SAED Pattern: g-Vectors, Twins, Precipitates & Real vs. Artifact Spots.” untethered atom, 2026, https://untetheredatom.com/tem/saed-indexing-guide.
BibTeX
@misc{tripathy2026howtoindexansaedpattern,
  author = {Tripathy, Manisha},
  title  = {How to Index an SAED Pattern: g-Vectors, Twins, Precipitates \& Real vs. Artifact Spots},
  year   = {2026},
  howpublished = {\url{https://untetheredatom.com/tem/saed-indexing-guide}},
  note   = {Interactive teaching resource}
}
Last updated 25 August 2026.