A central problem in massively parallel computing is efficiently routing data between processors. This problem is complicated by two considerations. First, in any massively parallel system, some processors are bound to fail, disrupting message routing. Second, one must avoid deadlock configurations in which messages permanently block one another. We present an efficient, oblivious, and deadlock-free routing algorithm for the hypercube. The algorithm tolerates a large number of faults in a worst-case configuration.