Surface filtering algorithms using Fourier, Gaussian, wavelets … etc., are well-established for simple Euclidean geometries. However, these filtration techniques cannot be applied to today's complex freeform surfaces, which have non-Euclidean geometries, without distortion of the results. This paper proposes a new multi-scale filtering algorithm for freeform surfaces that are represented by triangular meshes based on a mesh relaxation scheme. The proposed algorithm is capable of decomposing a freeform surface into different scales and to separate surface roughness, waviness and form from each other as will be demonstrated throughout the paper. Results of applying the proposed algorithm to computer-generated as well as real surfaces are represented and compared with a lifting wavelet filtering algorithm.