Presented in this paper is a sweepline algorithm to compute the Voronoi diagram of a set of circles in a two-dimensional Euclidean space. The radii of the circles are non-negative and not necessarily equal. It is allowed that circles intersect each other, and a circle contains others. The proposed algorithm constructs the correct Voronoi diagram as a sweepline moves on the plane from top to bottom. While moving on the plane, the sweepline stops only at certain event points where the topology changes occur for the Voronoi diagram being constructed. The worst-case time complexity of the proposed algorithm is O((nCm)log n), where n is the number of input circles, and m is the number of intersection points among circles. As m can be O(n2 ), the presented algorithm is optimal with O(n2 log n) worst-case time complexity. q 2005 Elsevier Ltd. All rights reserved.