In this paper, an efficient algorithm for human face detection and facial feature extraction is devised. Firstly, the location of the face regions is detected using the genetic algorithm and the eigenface technique. The genetic algorithm is applied to search for possible face regions in an image, while the eigenface technique is used to determine the fitness of the regions. As the genetic algorithm is computationally intensive, the searching space is reduced and limited to the eye regions so that the required timing is greatly reduced. Possible face candidates are then further verified by measuring their symmetries and determining the existence of the different facial features. Furthermore, in order to improve the level of detection reliability in our approach, the lighting effect and orientation of the faces are considered and solved.