Smoothing is widely used approach for measurement noise reduction in spectral analysis. However, it suffers from signal distortion caused by peak suppression. A locally self-adjustive smoothing method is developed that retains sharp peaks and less distort signals. The proposed method uses only one parameter that determines global smoothness, while balancing the local smoothness using data itself. Simulation and real experiments in comparison with existing convolution-based smoothing methods indicate both qualitatively and quantitatively improved noise reduction performance in practical scenarios. We also discuss parameter selection and demonstrate an application for the automated smoothing and detection of a given number of peaks from noisy measurement data.