A quantum error-correcting code is defined to be a unitary mapping (encoding) of k qubits (2-state quantum systems) into a subspace of the quantum state space of n qubits such that if any t of the qubits undergo arbitrary decoherence, not necessarily independently, the resulting n qubits can be used to faithfully reconstruct the original quantum state of the k encoded qubits. Quantum error-correcting codes are shown to exist with asymptotic rate k/n = 1 - 2H(2t/n) where H(p) is the binary entropy function -p log p - (1-p) log (1-p). Upper bounds on this asymptotic rate are given.