---
title: Feynman Rules for QED
module: Quantum Electrodynamics
moduleNumber: 6
lessonNumber: 1
order: 601
summary: >
  Quantum electrodynamics computes a process by summing diagrams, each a term in
  a power series in the coupling. Every diagram translates into an amplitude by a
  fixed dictionary: spinors and polarization vectors for external lines,
  propagators for internal lines, and the vertex factor $ie\gamma^\mu$ for each
  photon-fermion junction. Squaring the amplitude and feeding it to Fermi's golden
  rule produces a cross section or decay rate, with each extra vertex costing one
  power of $\alpha$.
topics: [Quantum Electrodynamics]
draft: false
sources:
  - book: Griffiths
    ref: "Ch. 6 — The Feynman Calculus; Ch. 7 §7.5–7.6 (the QED Feynman rules)"
  - book: Halzen & Martin
    ref: "Ch. 6 (electrodynamics of spinless and spin-½ particles; the QED rules)"
  - book: Thomson
    ref: "Ch. 5–6 (interaction by particle exchange; the QED Feynman rules)"
  - book: Tong
    ref: "The Standard Model (Cambridge Part III), §1.4 & §5.3.2 (QED and Feynman diagrams)"
---

The Dirac equation supplies free electrons and positrons; Maxwell's equations
supply free photons. Quantum electrodynamics is the theory of what happens when
the two couple, through the single interaction term that lets a photon be emitted
or absorbed by a charged fermion. No exact solution exists, so every prediction is
a perturbation series in the small coupling $\alpha \approx 1/137$. Feynman's
achievement was to make each term in that series a picture, and to fix a
dictionary that turns any picture into a definite complex number — the amplitude.
This lesson states that dictionary for QED and shows how the amplitude becomes an
observable rate. It assumes the [Dirac
spinors](/particle-physics/relativistic-wave-equations/dirac-equation-spinors)
and the [golden rule](/particle-physics/units-kinematics/cross-sections-golden-rule)
from the earlier modules.

Throughout, $\hbar = c = 1$ and $\eta^{\mu\nu} = \operatorname{diag}(+,-,-,-)$. The
electromagnetic coupling is written $e = \sqrt{4\pi\alpha}$, the positron charge in
Heaviside-Lorentz units, so that $\alpha = e^2/4\pi$.[^tong-alpha]

## Perturbation theory as a sum of diagrams

The interaction between the Dirac field $\psi$ and the photon field $A_\mu$ is
governed by the current-potential coupling

$$
\mathcal L_{\text{int}} = -e\,\bar\psi\,\gamma^\mu\psi\,A_\mu
  = -e\,j^\mu A_\mu,
\qquad
j^\mu = \bar\psi\gamma^\mu\psi .
$$

This is the entire content of QED beyond the free theory: one term, one coupling.
Because $e$ is small, the transition amplitude for any process expands in powers of
$e$, and each power corresponds to one factor of the interaction acting once. A
term with $n$ factors of $e$ is drawn as a diagram with $n$ **vertices**, each
vertex a point where a photon line meets a fermion line. The amplitude for a
process is the sum over all topologically distinct diagrams with the correct
external particles.

- **Order counting.** Every vertex contributes one factor of $e$, so a diagram
  with $V$ vertices scales as $e^V \sim \alpha^{V/2}$. A physical amplitude has an
  even number of vertices for the leading process; the cross section, being
  $|\mathcal M|^2$, then scales as $\alpha^V$. The lowest-order (tree) diagram
  dominates; each additional pair of vertices adds a **loop** and suppresses the
  contribution by $\alpha \approx 0.0073$.
- **Tree vs loop.** A **tree diagram** has no closed internal loops; its amplitude
  is finite and gives the leading prediction. A **loop diagram** contains a closed
  circuit of internal lines, carries an unconstrained internal momentum integrated
  over all values, and supplies the small quantum corrections treated in the later
  lessons on [renormalization](/particle-physics/qed/renormalization-running-coupling)
  and [$g-2$](/particle-physics/qed/electron-g-2).

$$
% caption: The perturbation series for a QED process orders diagrams by the number
% of vertices. Two vertices give the tree amplitude of order alpha; four vertices
% add one loop and a relative factor of alpha; the series continues, each loop
% costing another power of the coupling.
\begin{tikzpicture}[>=stealth, font=\footnotesize, scale=1.0]
  \definecolor{acc}{HTML}{4A6FA5}
  % tree
  \draw[thick] (-6.2,0.6) -- (-5.2,0.0) -- (-6.2,-0.6);
  \draw[thick, dashed] (-5.2,0.0) -- (-3.8,0.0);
  \draw[thick] (-2.8,0.6) -- (-3.8,0.0) -- (-2.8,-0.6);
  \fill (-5.2,0) circle (1.6pt);
  \fill (-3.8,0) circle (1.6pt);
  \node at (-4.5,-1.3) {order alpha (tree)};
  % plus
  \node at (-1.9,0) {$+$};
  % loop
  \draw[thick] (-1.0,0.6) -- (0.0,0.0);
  \draw[thick] (0.0,0.0) -- (-1.0,-0.6);
  \draw[thick, dashed] (0.0,0.0) .. controls (0.7,0.9) and (1.7,0.9) .. (2.4,0.0);
  \draw[thick, dashed] (0.0,0.0) .. controls (0.7,-0.9) and (1.7,-0.9) .. (2.4,0.0);
  \draw[thick] (2.4,0.0) -- (3.4,0.6);
  \draw[thick] (2.4,0.0) -- (3.4,-0.6);
  \fill (0,0) circle (1.6pt);
  \fill (2.4,0) circle (1.6pt);
  \node at (1.2,-1.3) {order alpha squared (one loop)};
  \node at (4.1,0) {$+\ \cdots$};
\end{tikzpicture}
$$

## External lines: spinors and polarizations

Each particle entering or leaving a diagram contributes a wavefunction factor for
its type and direction of travel. These are read directly off the Dirac and
Maxwell plane-wave solutions.

- **Incoming fermion** (electron): a spinor $u(p,s)$.
- **Outgoing fermion**: the Dirac adjoint $\bar u(p,s) = u^\dagger\gamma^0$.
- **Incoming antifermion** (positron): $\bar v(p,s)$.
- **Outgoing antifermion**: $v(p,s)$.
- **Incoming photon**: a polarization vector $\epsilon_\mu(k,\lambda)$.
- **Outgoing photon**: the conjugate $\epsilon_\mu^\ast(k,\lambda)$.

The pattern for antiparticles is the Feynman-Stückelberg rule that an outgoing
antiparticle is bookkept as an incoming negative-energy particle, so $v$ and
$\bar v$ swap roles relative to $u$ and $\bar u$. The spinors satisfy the
momentum-space Dirac equations $(\gamma\!\cdot\!p - m)u = 0$ and $(\gamma\!\cdot\!p + m)v = 0$,
where $\gamma\!\cdot\!p \equiv \gamma^\mu p_\mu$, and are normalized by $\bar u u = 2m$,
$\bar v v = -2m$. The photon polarization is transverse, $k^\mu\epsilon_\mu = 0$,
with two physical states $\lambda = 1,2$.

## Propagators: internal lines

An internal line represents a **virtual** particle: one whose four-momentum $q$ is
fixed by momentum conservation at the vertices but is **off the mass shell**,
$q^2 \ne m^2$. Its wavefunction is replaced by a propagator, the Fourier transform
of the field's Green function, which is the amplitude to move from the emission
vertex to the absorption vertex.

The **fermion propagator** for an internal line of momentum $q$ and mass $m$ is

$$
\frac{i(\gamma\!\cdot\!q + m)}{q^2 - m^2 + i\varepsilon},
$$

and the **photon propagator**, in the Feynman gauge, is

$$
\frac{-i\,\eta_{\mu\nu}}{q^2 + i\varepsilon}.
$$

The pole at $q^2 = m^2$ is the imprint of the physical particle: as the virtual
line approaches its mass shell the propagator blows up, which is why exchanged
particles near resonance dominate a cross section. The $i\varepsilon$ fixes the
contour and encodes causal (Feynman) boundary conditions. The numerator
$\gamma\!\cdot\!q + m$ carries the spin structure; for the massless photon the numerator
$-\eta_{\mu\nu}$ carries the two transverse polarizations plus gauge artifacts that
cancel against the conserved current $\partial_\mu j^\mu = 0$.

$$
% caption: The QED building blocks. A solid line with an arrow is an external
% fermion carrying a spinor; a dashed line is an external photon carrying a
% polarization vector. An internal fermion line carries the fermion propagator and
% an internal photon line the photon propagator, each with a pole where the virtual
% particle would go on shell. The dot is the vertex, factor ie times a gamma matrix,
% where two fermion lines meet one photon line.
\begin{tikzpicture}[>=stealth, font=\footnotesize, scale=1.0]
  \definecolor{acc}{HTML}{4A6FA5}
  % row 1: external fermion
  \draw[thick, ->] (-6.4,3.2) -- (-4.9,3.2);
  \draw[thick] (-4.9,3.2) -- (-4.4,3.2);
  \node[right, align=left] at (-4.2,3.2) {external fermion (spinor)};
  % row 1b external photon
  \draw[thick, dashed] (-6.4,2.3) -- (-4.4,2.3);
  \node[right, align=left] at (-4.2,2.3) {external photon (polarization)};
  % row 2: fermion propagator
  \draw[thick] (-6.4,1.2) -- (-4.4,1.2);
  \fill (-5.4,1.2) circle (1.2pt);
  \node[right, align=left] at (-4.2,1.2) {internal fermion (propagator)};
  % row 3: photon propagator
  \draw[thick, dashed] (-6.4,0.2) -- (-4.4,0.2);
  \node[right, align=left] at (-4.2,0.2) {internal photon (propagator)};
  % row 4: vertex
  \draw[acc, thick] (-6.4,-1.6) -- (-5.4,-1.1);
  \draw[acc, thick] (-6.4,-0.6) -- (-5.4,-1.1);
  \draw[acc, thick, dashed] (-5.4,-1.1) -- (-4.4,-1.1);
  \fill[acc] (-5.4,-1.1) circle (2.0pt);
  \node[acc, right, align=left] at (-4.2,-1.1) {vertex (factor ie gamma)};
\end{tikzpicture}
$$

## The QED vertex

Every point where a photon line meets an electron line contributes the **vertex
factor**

$$
ie\gamma^\mu,
$$

with $\mu$ the Lorentz index contracted into the attached photon line (through its
propagator or polarization vector), and the gamma matrix sandwiched between the
spinors running along the fermion line. The vertex is the derivative of the
interaction $-e\bar\psi\gamma^\mu\psi A_\mu$ with respect to the three fields, so
its structure — one gamma matrix, one power of $e$ — is dictated entirely by the
form of $\mathcal L_{\text{int}}$.

Charge conservation at the vertex is automatic: the fermion number flowing in
equals that flowing out, since a single fermion line passes through with a photon
attached. A vertex therefore always has exactly two fermion ends and one photon
end. This is why QED processes conserve the number of electrons minus positrons,
and why a photon never couples to itself at tree level.

## Assembling the amplitude

Reading a diagram into an amplitude $\mathcal M$ follows a fixed procedure. Label
every line with a four-momentum, conserve momentum at each vertex, and write down
the factors **against the fermion arrows** — that is, starting from the outgoing
fermion (a $\bar u$ or $\bar v$) and moving backward along each fermion line to its
incoming end. The gamma matrices, propagators, and spinors are multiplied in that
order so the matrix indices contract correctly.

```algorithm
Assemble the QED amplitude M from a diagram
────────────────────────────────────────────
for each external line do
    emit its spinor (u, u-bar, v, v-bar) or polarization (eps, eps-star)
for each internal line do
    assign a four-momentum fixed by conservation at the vertices
    emit its propagator (fermion or photon)
for each vertex do
    emit the factor i e gamma^mu, index mu tied to the photon line there
for each fermion line do
    write its factors right-to-left, against the arrow,
        from the outgoing spinor back to the incoming spinor
contract all Lorentz indices between joined lines
integrate d^4q / (2 pi)^4 over each unconstrained loop momentum
multiply by the overall sign for fermion-line orderings
return M
```

For a tree diagram there is no loop integral and no relative sign subtlety, so the
recipe returns $\mathcal M$ as a product of spinors, gammas, and one propagator.
The result is a Lorentz scalar: all indices are contracted, leaving a complex
number for each choice of external spins and polarizations.

$$
% caption: Assembling the amplitude for electron-muon scattering. The two fermion
% lines each contribute a current sandwiched between their spinors; the exchanged
% photon contributes its propagator, tying the two Lorentz indices together. The
% whole diagram reads as one product of the two vertex currents and the propagator.
\begin{tikzpicture}[>=stealth, font=\footnotesize, scale=1.0]
  \definecolor{acc}{HTML}{4A6FA5}
  % electron line (bottom)
  \draw[thick, ->] (-3.2,-1.6) -- (-1.6,-1.6);
  \draw[thick] (-1.6,-1.6) -- (0.0,-1.6);
  \draw[thick, ->] (0.0,-1.6) -- (1.6,-1.6);
  \draw[thick] (1.6,-1.6) -- (3.0,-1.6);
  \fill (0,-1.6) circle (2.0pt);
  \node[left] at (-3.2,-1.6) {electron in};
  \node[right] at (3.0,-1.6) {electron out};
  % muon line (top)
  \draw[thick, ->] (-3.2,1.6) -- (-1.6,1.6);
  \draw[thick] (-1.6,1.6) -- (0.0,1.6);
  \draw[thick, ->] (0.0,1.6) -- (1.6,1.6);
  \draw[thick] (1.6,1.6) -- (3.0,1.6);
  \fill (0,1.6) circle (2.0pt);
  \node[left] at (-3.2,1.6) {muon in};
  \node[right] at (3.0,1.6) {muon out};
  % exchanged photon
  \draw[acc, thick, dashed] (0,-1.6) -- (0,1.6);
  \node[acc, right] at (0.15,0.0) {photon, momentum $q$};
\end{tikzpicture}
$$

For the electron-muon diagram, the two currents are
$\bar u(p_3)\gamma^\mu u(p_1)$ (electron) and $\bar u(p_4)\gamma^\nu u(p_2)$
(muon), the photon propagator supplies $-i\eta_{\mu\nu}/q^2$ with $q = p_1 - p_3$,
and each vertex a factor $ie$. Collecting,

$$
\mathcal M = \big[\bar u(p_3)\,(ie\gamma^\mu)\,u(p_1)\big]\,
  \frac{-i\eta_{\mu\nu}}{q^2}\,
  \big[\bar u(p_4)\,(ie\gamma^\nu)\,u(p_2)\big]
  = \frac{ie^2}{q^2}\,
    \big[\bar u_3\gamma^\mu u_1\big]\big[\bar u_4\gamma_\mu u_2\big].
$$

The amplitude is the product of two conserved currents tied together by the
photon propagator — the field-theory version of two charges interacting through
the electromagnetic field.

## From the amplitude to a rate

The amplitude enters an observable only through $|\mathcal M|^2$, averaged over
initial spins and summed over final spins, fed into Fermi's golden rule. For a
$2 \to 2$ scattering in the center-of-momentum frame,

$$
\frac{\d\sigma}{\d\Omega}
  = \frac{1}{64\pi^2 s}\,
    \frac{|\vec p_f|}{|\vec p_i|}\,
    \big\langle |\mathcal M|^2 \big\rangle,
$$

and for a $1 \to 2$ decay of a particle of mass $M$,

$$
\Gamma = \frac{|\vec p_f|}{8\pi M^2}\,\big\langle |\mathcal M|^2 \big\rangle,
$$

with $\langle\,\rangle$ the spin average and $|\vec p_f|$ the final-state momentum
set by the kinematics. Evaluating $\langle|\mathcal M|^2\rangle$ from the spinor
expressions is the calculational core of QED, carried out by the trace technology
of the [next lesson](/particle-physics/qed/qed-tree-processes). The Feynman rules
have reduced the quantum field theory to a bookkeeping exercise: draw the diagrams,
apply the dictionary, square, and integrate.

## The same process, two channels

Momentum can flow through a diagram in more than one way, and each way is a
separate diagram to be added into $\mathcal M$. The Mandelstam variables label the
channels by which invariant the exchanged momentum carries. In an
**$s$-channel** diagram the two incoming particles annihilate into a single virtual
line of invariant mass $\sqrt s$, which then produces the final state; the
propagator carries $q^2 = s$. In a **$t$-channel** diagram one incoming particle
emits the virtual line and continues, so the exchange carries the momentum transfer
$q^2 = t \le 0$. A $u$-channel is the same with the two final particles
interchanged.

The distinction is physical, not cosmetic. An $s$-channel propagator $1/(s - m^2)$
becomes resonant when $\sqrt s$ hits the mass of a real intermediate particle,
producing a Breit-Wigner peak in the cross section; a $t$-channel propagator
$1/t$, with $t \le 0$, never resonates but peaks in the forward direction where
$|t|$ is smallest. When the same external particles admit both, the two amplitudes
add and interfere — the mechanism behind Bhabha scattering in the next lesson.

$$
% caption: The same four external particles reached two ways. In the s-channel the
% incoming pair annihilate into one virtual photon carrying q-squared equal to s;
% in the t-channel a photon of spacelike momentum transfer, q-squared equal to t,
% is exchanged between the lines. Both diagrams add into the amplitude.
\begin{tikzpicture}[>=stealth, font=\footnotesize, scale=1.0]
  \definecolor{acc}{HTML}{4A6FA5}
  % --- s-channel (left) ---
  \draw[thick, ->] (-6.4,1.2) -- (-5.6,0.6);
  \draw[thick] (-5.6,0.6) -- (-5.0,0.2);
  \draw[thick, ->] (-6.4,-0.8) -- (-5.6,-0.2);
  \draw[thick] (-5.6,-0.2) -- (-5.0,0.2);
  \draw[acc, thick, dashed] (-5.0,0.2) -- (-3.4,0.2);
  \draw[thick, ->] (-3.4,0.2) -- (-2.6,0.8);
  \draw[thick] (-2.6,0.8) -- (-2.0,1.2);
  \draw[thick, ->] (-3.4,0.2) -- (-2.6,-0.4);
  \draw[thick] (-2.6,-0.4) -- (-2.0,-0.8);
  \fill (-5.0,0.2) circle (1.8pt);
  \fill (-3.4,0.2) circle (1.8pt);
  \node at (-4.2,0.55) {$q^2 = s$};
  \node at (-4.2,-1.4) {$s$-channel};
  % --- t-channel (right) ---
  \draw[thick, ->] (1.0,1.2) -- (1.8,1.2);
  \draw[thick] (1.8,1.2) -- (2.6,1.2);
  \draw[thick, ->] (2.6,1.2) -- (3.4,1.2);
  \draw[thick] (3.4,1.2) -- (4.2,1.2);
  \draw[thick, ->] (1.0,-0.8) -- (1.8,-0.8);
  \draw[thick] (1.8,-0.8) -- (2.6,-0.8);
  \draw[thick, ->] (2.6,-0.8) -- (3.4,-0.8);
  \draw[thick] (3.4,-0.8) -- (4.2,-0.8);
  \draw[acc, thick, dashed] (2.6,1.2) -- (2.6,-0.8);
  \fill (2.6,1.2) circle (1.8pt);
  \fill (2.6,-0.8) circle (1.8pt);
  \node[right] at (2.75,0.2) {$q^2 = t$};
  \node at (2.6,-1.4) {$t$-channel};
\end{tikzpicture}
$$

## Summary

QED reduces to one interaction, $-e\bar\psi\gamma^\mu\psi A_\mu$, and one small
parameter, $\alpha = e^2/4\pi$. Every amplitude is a sum of diagrams; every diagram
translates by a fixed dictionary: external spinors $u,\bar u,v,\bar v$ and
polarizations $\epsilon_\mu$; the propagators $i(\gamma\!\cdot\!q + m)/(q^2 - m^2)$ and
$-i\eta_{\mu\nu}/q^2$ for internal lines; the vertex $ie\gamma^\mu$. Reading a
diagram against the fermion arrows yields $\mathcal M$; squaring it and applying
the golden rule yields a rate. Each vertex costs one factor of $e$, so tree
diagrams give the leading cross section of order $\alpha^2$ and loops add
corrections one power of $\alpha$ at a time. The next lesson turns the dictionary
on the reference reactions of QED and evaluates their cross sections.

[^tong-alpha]: The QED interaction $-e\bar\psi\gamma^\mu\psi A_\mu$ and the value $\alpha = e^2/4\pi \approx 1/137$ with $e \approx 0.30$ in natural units are given in Tong, _The Standard Model_ (Cambridge Part III), §1.4 and §5.3.2, [damtp.cam.ac.uk/user/tong/standardmodel.html](http://www.damtp.cam.ac.uk/user/tong/standardmodel.html). The complete QED Feynman rules — external spinors and polarizations, the two propagators, and the vertex $ie\gamma^\mu$ — are tabulated in Griffiths, §7.5–7.6; Halzen & Martin, Ch. 6; and Thomson, Ch. 5–6. The measured $\alpha^{-1} = 137.035999$ is from the Particle Data Group, [pdg.lbl.gov](https://pdg.lbl.gov).
