Here is a list of quantum subsystem codes.
Code Description
3D surface code A variant of the Kitaev surface code on a 3D lattice. The closely related solid code [1] consists of several 3D surface codes stitched together in a way that the distance scales faster than the linear size of the system.
Abelian topological code Code whose codewords realize topological order associated with an abelian group. Stub.
Bacon-Shor code CSS subsystem stabilizer code defined on an \(m_1 \times m_2\) lattice of qubits. It is said to be symmetric when \(m_1=m_2\). The \(X\)-type and \(Z\)-type stabilizers defined as \(X\) and \(Z\) operators acting on all qubits on adjacent columns and rows, respectively. Let \(O_{i,j}\) denote an operator acting on the qubit at a position \((i,j)\) on the lattice, with \(i\in\{0,1,\ldots ,m_1-1\}\) and \(j\in\{0,1,\ldots,m_2-1\}\). The code's stabilizer group is \begin{align} \mathsf{S}=\langle X_{i,*}X_{i+1,*},Z_{*,j}Z_{*,j+1}\rangle~, \end{align} with generators expressed as products of nearest-neightbour 2-qubit gauge operators, \begin{align} \begin{split} X_{i,*}X_{i+1,*}= \bigotimes_{k=0}^{m_2-1} X_{i,k}X_{i+1,k} \\ Z_{*,j}Z_{*,j+1}=\bigotimes_{k=0}^{m_1-1} Z_{k,j}Z_{k,j+1}~. \end{split} \end{align} Syndrome extraction can be done by measuring these gauge operators, which are on fewer qubits and local.
Bravyi-Bacon-Shor (BBS) code An \([[n,k,d]]\) CSS subsystem stabilizer code generalizing Bacon-Shor codes to a larger set of qubit geometries. Defined through a binary matrix \(A\) such that physical qubits live on sites \((i,j)\) whenever \(A_{i,j}=1\). The gauge group is generated by 2-qubit operators, including \(XX\) interations between any two qubits sharing a column in \(A\), and \(ZZ\) interations between two qubits sharing a row. The code parameters are: \(n=\sum_{i,j}A_{i,j}\), \(k=\text{rank}(A)\), and the distance is the minimum weight of any row or column.
Clifford-deformed surface code (CDSC) A generally non-CSS derivative of the surface code defined by applying a constant-depth Clifford circuit to the original (CSS) surface code. Unlike the surface code, CDSCs include codes whose thresholds and subthreshold performance are enhanced under noise biased towards dephasing. Examples of CDSCs include the XY code, XZZX code, and random CDSCs.
Color code A family of abelian topological CSS stabilizer codes defined on a \(D\)-dimensional lattice which satisfies two properties: The lattice is (1) a homogeneous simplicial \(D\)-complex obtained as a triangulation of the interior of a \(D\)-simplex and (2) is \(D+1\)-colorable. Qubits are placed on the \(D\)-simplices and generators are supported on suitable simplices [2]. For 2-dimensional color code, the lattice must be such that it is 3-valent and has 3-colorable faces, such as a honeycomb lattice. The qubits are placed on the vertices and two stabilizer generators are placed on each face [3].
Double-semion code Stub.
Doubled color code Family of \([[2t^3+8t^2+6t-1,1,2t+1]]\) subsystem color codes (with \(t\geq 1\)), constructed using a generalization of the doubling transformation [4], that admit a Clifford + \(T\) transversal gate set using gauge fixing.
Entanglement-assisted (EA) operator QECC Subsystem QECC whose encoding and decoding utilizes pre-shared entanglement between sender and receiver.
Five-qubit perfect code Five-qubit stabilizer code with generators that are symmetric under cyclic permutation of qubits, \begin{align} \begin{split} S_1 &= IXZZX \\ S_2 &= XZZXI \\ S_3 &= ZZXIX \\ S_4 &= ZXIXZ~. \end{split} \end{align}
Fractal surface code Kitaev surface code on a fractal geometry, which is obtained by removing qubits from the surface code on a cubic lattice. Stub.
Freedman-Meyer-Luo code Hyperbolic surface code constructed using cellulation of a Riemannian Manifold \(M\) exhibiting systolic freedom [5]. Codes derived from such manifolds can achieve distances scaling better than \(\sqrt{n}\), something that is impossible using closed 2D surfaces or 2D surfaces with boundaries [6]. Improved codes are obtained by studying a weak family of Riemann metrics on closed 4-dimensional manifolds \(S^2\otimes S^2\) with the \(Z_2\)-homology.
Golden code Variant of the Guth-Lubotzky hyperbolic surface code that uses regular tessellations for 4-dimensional hyperbolic space.
Guth-Lubotzky code Hyperbolic surface code based on cellulations of certain four-dimensional manifolds. The manifolds are shown to have good homology and systolic properties for the purposes of code construction, with corresponding codes exhibiting linear rate.
Heavy-hexagon code Subsystem stabilizer code on the heavy-hexagonal lattice that combines Bacon-Shor and surface-code stabilizers. Encodes one logical qubit into \(n=(5d^2-2d-1)/2\) physical qubits with distance \(d\). The heavy-hexagonal lattice allows for low degree (at most 3) connectivity between all the data and ancilla qubits, which is suitable for fixed-frequency transom qubits subject to frequency collision errors.
Hemicubic code Stub.
Higher-dimensional surface code A family of Kitaev surface codes on planar or toric surfaces of dimension greater than two. Stub.
Hyperbolic surface code An extension of the Kitaev surface code construction to hyperbolic manifolds in dimension two or greater. Given a cellulation of a manifold, qubits are put on \(i\)-dimensional faces, \(X\)-type stabilizers are associated with \((i-1)\)-faces, while \(Z\)-type stabilizers are associated with \(i+1\)-faces.
Hypersphere product code Stub.
Kitaev surface code A family of abelian topological CSS stabilizer codes whose generators are few-body \(X\)-type and \(Z\)-type Pauli strings associated to the stars and plaquettes, respectively, of a cellulation of a two-dimensional surface (with a qubit located at each edge of the cellulation). Toric code often either refers to the construction on the two-dimensional torus or is an alternative name for the general construction. The construction on surfaces with boundaries is often called the planar code [7].
Matching code Member of a class of qubit stabilizer codes based on the abelian phase of the Kitaev honeycomb model.
Projective-plane surface code A family of Kitaev surface codes on the non-orientable 2-dimensional compact manifold \(\mathbb{R}P^2\) (in contrast to a genus-\(g\) surface). Whereas genus-\(g\) surface codes require \(2g\) logical qubits, qubit codes on \(\mathbb{R}P^2\) are made from a single logical qubit.
Rotated surface code Also called a checkerboard code. CSS variant of the surface code defined on a square lattice that has been rotated 45 degrees such that qubits are on vertices, and both \(X\)- and \(Z\)-type check operators occupy plaquettes in an alternating checkerboard pattern.
Subsystem color code Stub.
Subsystem modular-qudit stabilizer code Modular qudit version of a subsystem qubit stabilizer code. Can be obtained by taking a modular qudit stabilizer code and assigning some of its logical qubits to be gauge qubits.
Subsystem quantum error-correcting code A subsystem code, also known as an operator QECC or gauge QECC, encodes information in a subsystem \(\mathsf{A}\) of the code space \(\mathsf{C}\), which is part of the system Hilbert space \(\mathsf{H}\), as \begin{align} \mathsf{H}=\mathsf{C} \oplus \mathsf{C}^{\perp} = \mathsf{A} \otimes \mathsf{B} \oplus \mathsf{C}^{\perp}~. \end{align} Following an error, it is sufficient to revert back to the original state modulo a transformation on the auxiliary or gauge subsystem \(\mathsf{B}\). The subsystem \(\mathsf{B}\) therefore gives additional freedom to the error correction process, and is said to encode gauge qubits when its dimension is a power of two. While strictly speaking all operator QECCs are also ordinary QECCs, the attachment of a subsystem to a code allows for a wider variety of encoding procedures, fault-tolerant logical operations, and efficient error-correction protocols.
Subsystem qubit stabilizer code Also called a gauge stabilizer code. A stabilizer code with some of its logical qubits denoted as gauge qubits and not used for storage of logical information. Note that this doesnt lead to new codes but does lead to new error correction and fault tolerance procedures. Subsystem codes are denoted by \([[n,k,r,d]]\), similar to stabilizer codes, but with an extra parameter \(r\) denoting the number of gauge qubits.
Subsystem rotated surface code Subsystem version of the rotated surface code.
Subsystem surface code Subsystem version of the surface code defined on a square lattice with qubits placed at every vertex and center of everry edge.
Surface-17 code A \([[9,1,3]]\) rotated surface code named for the sum of its 9 data qubits and 8 syndrome qubits. It uses the smallest number of qubits to perform error correction on a surface code with parallel syndrome extraction.
Two-dimensional hyperbolic surface code Hyperbolic surface codes based on a tessellation of a closed 2D manifold with a hyperbolic geometry (i.e., non-Euclidean geometry, e.g., saddle surfaces when defined on a 2D plane).
XY surface code Also called the tailored surface code (TSC). Non-CSS derivative of the surface code whose generators are \(XXXX\) and \(YYYY\), obtained by mapping \(Z \to Y\) in the surface code.
XYZ\(^2\) hexagonal stabilizer code An instance of the matching code based on the Kitaev honeycomb model. It is described on a hexagonal lattice with \(XYZXYZ\) stabilizers on each hexagonal plaquette. Each vertical pair of qubits has an \(XX\), \(YY\), or \(ZZ\) link stabilizer depending on the orientation of the plaquette stabilizers.
XZZX surface code Non-CSS variant of the rotated surface code whose generators are \(XZXZ\) Pauli strings associated, clock-wise, to the vertices of each face of a two-dimensional lattice (with a qubit located at each vertex of the tessellation).
\([[15,1,3]]\) quantum Reed-Muller code \([[15,1,3]]\) CSS code that is most easily thought of as a tetrahedral 3D color code. This code contains 15 qubits, represented by four vertices, four face centers, six edge centers, and one body center. The tetrahedron is cellulated into four identical polyhedron cells by connecting the body center to all four face centers, where each face center is then connected by three adjacent edge centers. Each colored cell corresponds to a weight-8 \(X\)-check, and each face corresponds to a weight-4 \(Z\)-check. A logical \(Z\) is any weight-3 \(Z\)-string along an edge of the entire tetrahedron. The logical \(X\) is any weight-7 \(X\)-face of the entire tetrahedron.
\([[4,2,2]]\) CSS code Also known as the \(C_4\) code. Four-qubit CSS stabilizer code with generators \(\{XXXX, ZZZZ\} \) and codewords \begin{align} \begin{split} |\overline{00}\rangle = (|0000\rangle + |1111\rangle)/\sqrt{2}~{\phantom{.}}\\ |\overline{01}\rangle = (|0011\rangle + |1100\rangle)/\sqrt{2}~{\phantom{.}}\\ |\overline{10}\rangle = (|0101\rangle + |1010\rangle)/\sqrt{2}~{\phantom{.}}\\ |\overline{11}\rangle = (|0110\rangle + |1001\rangle)/\sqrt{2}~. \end{split} \end{align} This code is the smallest single-qubit error-detecting code. It is also the smallest instance of the toric code, and its various single-qubit subcodes are small planar surface codes.
\([[7,1,3]]\) Steane code A \([[7,1,3]]\) CSS code that uses the classical binary \([7,4,3]\) Hamming code for protecting against both \(X\) and \(Z\) errors. The parity-check matrix for the \([7,4,3]\) Hamming code is \begin{align} H = \left(\begin{matrix} 1&0&0&1&0&1&1\\ 0&1&0&1&1&0&1\\ 0&0&1&0&1&1&1 \end{matrix}\right), \end{align} and the check matrix for the Steane code is therefore \begin{align} \left(\begin{matrix} 0&H\\ H&0 \end{matrix}\right). \end{align} The stabilizer group for the Steane code has six generators. Logical codewords are \begin{align} \begin{split} |\overline{0}\rangle&=\frac{1}{\sqrt{8}}\Big(|0000000\rangle+|1010101\rangle+|0110011\rangle+|1100110\rangle\\&\,\,\,\,\,\,\,\,+|0001111\rangle+|1011010\rangle+|0111100\rangle+|1101001\rangle\Big)\\|\overline{1}\rangle&=\frac{1}{\sqrt{8}}\Big(|1111111\rangle+|0101010\rangle+|1001100\rangle+|0011001\rangle\\&\,\,\,\,\,\,\,\,+|1110000\rangle+|0100101\rangle+|1000011\rangle+|0010110\rangle\Big)~. \end{split} \end{align} The automorphism group of the code is \(PGL(3,2)\) [8].
\([[8,3,2]]\) code Smallest 3D color code whose physical qubits lie on vertices of a cube and which admits a transversal CCZ gate. Similar constructions exist on \(d\)-dimensional hypercubes and are called hyperoctahedron \([[2^d,d,2]]\) codes [9].


K. P. Michnicki, “3D Topological Quantum Memory with a Power-Law Energy Barrier”, Physical Review Letters 113, (2014). DOI; 1406.4227
A. M. Kubica, The Abcs of the Color Code: A Study of Topological Quantum Codes as Toy Models for Fault-tolerant Quantum Computation and Quantum Phases of Matter, California Institute of Technology, 2018. DOI
H. Bombin, “An Introduction to Topological Quantum Codes”. 1311.0277
K. Betsumiya and A. Munemasa, “On triply even binary codes”, Journal of the London Mathematical Society 86, 1 (2012). DOI; 1012.4134
M. H. Freedman, “<b>Z</b><sub>2</sub>–Systolic-Freedom”, Proceedings of the Kirbyfest (1999). DOI
E. Fetaya, “Bounding the distance of quantum surface codes”, Journal of Mathematical Physics 53, 062202 (2012). DOI
S. B. Bravyi and A. Yu. Kitaev, “Quantum codes on a lattice with boundary”. quant-ph/9811052
Hanson Hao, “Investigations on Automorphism Groups of Quantum Stabilizer Codes”. 2109.12735
M. Vasmer and A. Kubica, “Morphing Quantum Codes”, PRX Quantum 3, (2022). DOI; 2112.01446