We exhibit a strong connection between cover times of graphs, Gaussian processes, and Talagrand’s theory of majorizing measures. In particular, we show that the cover time of any graph G is equivalent, up to universal constants, to the square of the expected maximum of the Gaussian free field on G, scaled by the number of edges in G. This allows us to resolve a number of open questions. We give a deterministic polynomial-time algorithm that computes the cover time to within an O(1) factor for any graph, answering a question of Aldous and Fill (1994). We also positively resolve the blanket time conjectures of Winkler and Zuckerman (1996), showing that for any graph, the blanket and cover times are within an O(1) factor. The best previous approximation factor for both these problems was O((loglogn)2) for n-vertex graphs, due to Kahn, Kim, Lovász, and Vu (2000).