This is a survey of the cd-index of Eulerian partially ordered sets. The cd-index is an encoding of the numbers of chains, specified by ranks, in the poset. It is the most efficient such encoding, incorporating all the affine relations on the flag numbers of Eulerian posets. Eulerian posets include the face posets of regular CW spheres (in particular, of convex polytopes), intervals in the Bruhat order on Coxeter groups, and the lattices of regions of oriented matroids. The paper discusses inequalities on the cd-index, connections with other combinatorial parameters, computation, and algebraic approaches.