Abstract Respiratory and heartbeat rates are crucial indicators for human health assessment. Compared to contact-based measurements, millimeter-wave radar detection of these vital signs avoids the discomfort caused by physical contact and better protects personal privacy, making it highly valuable for home health monitoring. The use of millimeter-wave radar for vital sign detection of the human body is mostly focused on targets in a stationary state at present. However, the human body may sway or even move during actual detection. This article proposes a non-contact vital sign detection method for moving targets. Compared with methods for detecting vital signs of stationary targets, detecting vital signs of moving targets requires determining the range bin where the targets are located continuously and extracting target phase information. The noise components such as movement and sway contained in the phase signal need to be removed. In this paper, moving target indication is used to remove static components, an adaptive range bin selection method is proposed to determine the range bin where the targets are located, and range bin selection fluctuation is smoothed using a moving average filter. The wavelet transform is used to decompose the phase signal, remove swaying noise based on autocorrelation function, and reconstruct the life signal for different scale factors. A bandpass filter is used to separate the respiratory and heartbeat signals, and a notch filter is designed to suppress respiratory harmonic signals. The experimental results show that the proposed method can separate vital signs signals from the phase signals of moving targets, achieving detection of respiration and heartbeat rate. The average accuracy of respiration and heartbeat rate detection is 94.7% and 95.5%, respectively.