Abstract. We use heat kernels or eigenfunctions of the Laplacian to construct local coordinates on large classes of Euclidean domains and Riemannian manifolds (not necessarily smooth, e.g. with C α metric). These coordinates are bi-Lipschitz on embedded balls of the domain or manifold, with distortion constants that depend only on natural geometric properties of the domain or manifold. The proof of these results relies on estimates, from above and below, for the heat kernel and its gradient, as well as for the eigenfunctions of the Laplacian and their gradient. These estimates hold in the non-smooth category, and are stable with respect to perturbations within this category. Finally, these coordinate systems are intrinsic and efficiently computable, and are of value in applications.