Cryptochromes function in animal circadian regulation. Zebrafish are known to have six cryptochrome (cry) genes but their evolutionary relationships are not yet fully resolved. Here, comparative genomic analyses revealed that a local duplication of ancestral chordate Cry occurred likely before the first round of vertebrate genome duplication (VGD); following two successive rounds of VGD and subsequent gene losses, coelacanths retained cry1a, cry1b, cry2 and cry3; and following the third-round teleost genome duplication (TGD) and subsequent gene losses, zebrafish retained six cry genes, renamed as cry1aa (zcry1a in the old nomenclature), cry1ab (zcry1b), cry1ba (zcry2a), cry1bb (zcry2b), cry2 (zcry3) and cry3 (zcry4). Molecular evolutionary analyses suggested that zebrafish cry genes have evolved divergent functions, which is further supported by their distinct and rhythmic expression patterns as shown by both in situ hybridization and quantitative real-time PCR. Systematic cell transfection assays divided six Cry proteins into repressive Cry1aa, Cry1ab, Cry1ba and Cry1bb, and non-repressive Cry2 and Cry3. Cry2 is non-repressive because it lacks an effective protein-protein interaction domain although it does possess a nuclear localization signal (NLS) motif, whilst Cry3 lacks both an NLS motif and a protein-protein interaction domain. These findings provide a better understanding of evolution of zebrafish cry genes.