Abstract Commercial iris recognition systems do not perform well for non-ideal data, because their iris localization algorithms are specifically developed for controlled data. This paper presents a robust iris localization algorithm for less constrained data. It includes: (i) suppressing specular reflections; (ii) localizing the iris inner (pupil circle) and outer (iris circle) boundaries in a two-phase strategy. In the first phase, we use Hough transform, gray level statistics, adaptive thresholding, and a geometrical transform to extract the pupil circle in a sub-image containing a coarse pupil region. After that, we localize iris circle in a sub-image centered at the pupil circle. However, if the first phase fails, the second phase starts, where first we localize a coarse iris region in the eye image. Next, we extract pupil circle within the coarse iris region by reusing procedure of first phase. Following that, we localize iris circle. In either of the two phases, we validate the pupil location by using an effective occlusion transform; and (iii) regularizing the iris circular boundaries by using radial gradients and the active contours. Experimental results show that the proposed technique is tolerant to off-axis eye images, specular reflections, non-uniform illumination; glasses, contact lens, hair, eyelashes, and eyelids occlusions.