Model updating methods based on structural vibration data have being rapidly developed and applied to detect structural damage in civil engineering. But uncertainties existing in the structural model and measured vibration data might lead to unreliable damage detection. In this paper a statistical damage identification algorithm based on frequency changes is developed to account for the effects of random noise in both the vibration data and finite element model. The structural stiffness parameters in the intact state and damaged state are, respectively, derived with a two-stage model updating process. The statistics of the parameters are estimated by the perturbation method and verified by Monte Carlo technique. The probability of damage existence is then estimated based on the probability density functions of the parameters in the two states. A higher probability statistically implies a more likelihood of damage occurrence. The presented technique is applied to detect damages in a numerical cantilever beam and a laboratory tested steel cantilever plate. The effects of using different number of modal frequencies, noise level and damage level on damage identification results are also discussed. (C) 2002 Elsevier Science Ltd. All rights reserved.