Cys2His2 zinc fingers are one of the most common DNA-binding motifs found in eukaryotic transcription factors. These proteins typically contain several fingers that make tandem contacts along the DNA. Each finger has a conserved beta beta alpha structure, and amino acids on the surface of the alpha-helix contact bases in the major groove. This simple, modular structure of zinc finger proteins, and the wide variety of DNA sequences they can recognize, make them an attractive framework for attempts to design novel DNA-binding proteins. Several studies have selected fingers with new specificities, and there clearly are recurring patterns in the observed side chain-base interactions. However, the structural details of recognition are intricate enough that there are no general rules (a "recognition code") that would allow the design of an optimal protein for any desired target site. Construction of multifinger proteins is also complicated by interactions between neighboring fingers and the effect of the intervening linker. This review analyzes DNA recognition by Cys2His2 zinc fingers and summarizes progress in generating proteins with novel specificities from fingers selected by phage display.