Milling exhibits forced vibrations at tooth passing frequency and its harmonics, as well as chatter vibrations close to one of the natural modes. In addition, there are sidebands, which are spread at the multiples of tooth passing frequency above and below the chatter frequency, and make the robust chatter detection difficult. This paper presents a novel on-line chatter detection method by monitoring the vibration energy. Forced vibrations are removed from the measurements in discrete time domain using a Kalman filter. After removing all periodic components, the amplitude and frequency of chatter are searched in between the two consecutive tooth passing frequency harmonics using a nonlinear energy operator (NEO). When the energy of any chatter component grows relative to the energy of forced vibrations, the presence of chatter is detected. The proposed method works in discrete real time intervals, and can detect the chatter earlier than frequency domain-based methods, which rely on fast Fourier Transforms. The method has been experimentally validated in several milling tests using both microphone and accelerometer measurements, as well as using spindle speed and current signals.