Stabilizer codes are the dominant framework for quantum error correction, defining the code space as the simultaneous +1 eigenspace of an abelian subgroup of the n-qubit Pauli group (the stabilizer group). An [[n,k,d]] stabilizer code encodes k logical qubits into n physical qubits with minimum distance d, correcting up to floor((d-1)/2) errors. Syndrome measurement amounts to measuring each stabilizer generator, identifying which Pauli error occurred without disturbing the encoded state. CSS codes, a major subclass, separately correct bit-flip (X) and phase-flip (Z) errors using classical linear codes, connecting quantum error correction directly to classical coding theory.
Stabilizer codes provide a unified mathematical framework for nearly all known quantum error-correcting codes. The framework is built on the n-qubit Pauli group — the group of all n-fold tensor products of {I, X, Y, Z} with phases {+1, -1, +i, -i}. A stabilizer code is defined by an abelian subgroup S of this group (the stabilizer) such that -I is not in S. The code space is the simultaneous +1 eigenspace of all elements of S: the set of states |psi> satisfying g|psi> = |psi> for every g in S.
The stabilizer group S is specified by n-k independent generators g_1, ..., g_{n-k}, where n is the number of physical qubits and k is the number of encoded logical qubits. The code space has dimension 2^k. Syndrome measurement measures each generator and records whether the eigenvalue is +1 or -1, producing an (n-k)-bit string called the syndrome. An error E from the Pauli group either commutes or anticommutes with each generator: if Eg_i = g_iE, the i-th syndrome bit is 0; if Eg_i = -g_iE, it is 1. Different errors produce different syndromes (up to elements of the stabilizer), allowing the decoder to identify and correct the error.
CSS codes are a major subclass constructed from two classical linear codes C1 and C2 satisfying C2 subset of C1. The X-type stabilizers are derived from C2^perp and correct Z errors; the Z-type stabilizers are derived from C1 and correct X errors. The beautiful feature is that X and Z error correction decouple completely, reducing the quantum code design problem to choosing two classical codes with appropriate containment. The Steane [[7,1,3]] code uses C1 = C2 = the Hamming [7,4,3] code; the code corrects any single-qubit error.
The minimum distance d of the code is the weight of the lightest Pauli operator that commutes with all stabilizers but is not itself in the stabilizer group — that is, the lightest nontrivial logical operator. A code with distance d can detect any error of weight up to d-1 and correct any error of weight up to floor((d-1)/2). The notation [[n,k,d]] compactly describes a code's parameters. The stabilizer framework also provides tools for analyzing code properties, constructing fault-tolerant gates (Clifford gates preserve the Pauli group and are naturally transversal for many stabilizer codes), and understanding the information-theoretic limits of quantum error correction. Virtually all practical QEC proposals — from Steane and Shor codes to surface codes and color codes — are stabilizer codes.