The threshold theorem for fault tolerance tells us that it is possible to build arbitrarily large reliable quantum computers provided the error rate per physical gate or time step is below some threshold value. Most research on the threshold theorem so far has gone into optimizing the tolerable error rate under various assumptions, with other considerations being secondary. However, for the foreseeable future, the number of qubits may be an even greater restriction than error rates. The overhead, the ratio of physical qubits to logical qubits, determines how expensive (in qubits) a fault-tolerant computation is. Earlier results on fault tolerance used a large overhead which grows (albeit slowly) with the size of the computation. I show that using quantum LDPC codes, it is possible in principle to do fault-tolerant quantum computation with low overhead, and with the overhead constant in the size of the computation.