An introduction to quantum error correction (QEC) is given, and some recent developments are described. QEC consists of two parts: the physics of error processes and their reversal, and the construction of quantum error–correcting codes. Errors are caused both by imperfect quantum operations, and by coupling between the quantum system and its environment. Any such process can be analysed into a sum of ‘error operators’, which are tensor products of Pauli spin operators. These are the analogues of classical error vectors. A quantum error correcting code is a set of orthogonal states, ‘quantum codewords’, which behave in a certain useful way under the action of the most likely error operators. A computer or channel which only uses such states can be corrected by measurements which determine the error while yielding no information about which codeword or superposition of codewords is involved. Powerful codes can be found using a construction based on classical error–correcting codes. An analysis which allows even the corrective operations themselves to be imperfect leads to powerful and counter–intuitive results: the quantum coherence of a long quantum computation can be preserved even though every qubit in the computer relaxes spontaneously many times before the computation is complete.