We introduce a new low-distortion embedding of d 2 into O(log n) p (p = 1, 2), called the Fast-Johnson-LindenstraussTransform. The FJLT is faster than standard random projections and just as easy to implement. It is based upon the preconditioning of a sparse projection matrix with a randomized Fourier transform. Sparse random projections are unsuitable for low-distortion embeddings. We overcome this handicap by exploiting the "Heisenberg principle" of the Fourier transform, ie, its local-global duality. The FJLT can be used to speed up search algorithms based on lowdistortion embeddings in 1 and 2. We consider the case of approximate nearest neighbors in d 2. We provide a faster algorithm using classical projections, which we then further speed up by plugging in the FJLT. We also give a faster algorithm for searching over the hypercube. Categories and Subject Descriptors F.2.0 [Analysis of Algorithms and Problem Complexity]: General General Terms Algorithms Keywords Johnson-...