Reducing the complexity of large systems described as complex networks is key to understanding them and a crucial issue is to know which properties of the initial system are preserved in the reduced one. Here we use random walks to design a coarse graining scheme for complex networks. By construction the coarse graining preserves the slow modes of the walk, while reducing significantly the size and the complexity of the network. In this sense our coarse graining allows us to approximate large networks by smaller ones, keeping most of their relevant spectral properties.