Noise variance estimation is required in many image denoising, compression, and segmentation applications. In this work, we propose a fast noise variance estimation algorithm based on principal component analysis of image blocks. First, we rearrange image blocks into vectors and compute the covariance matrix of these vectors. Then, we use Bartlett's test in order to select the covariance matrix eigenvalues, which correspond only to noise. This allows estimating the noise variance as the average of these eigenvalues. Since the maximum possible number of eigenvalues corresponding to noise is utilized, it is enough to process only a small number of image blocks, which allows reduction of the execution time. The blocks to process are selected from image regions with the smallest variance. During our experiments involving seven state of the art methods, the proposed approach was signi_cantly faster than the methods with similar or higher accuracy. Meanwhile, the relative error of our estimator was always less than 15%. We also show that the proposed method can process images without homogeneous areas.