百家姓》相传是宋初钱塘一位老儒所编,以国姓“赵”为首,共取姓氏468个,远没有包括中国人的全部姓氏。据宋人郑樵统计,宋代姓氏1743个,比《百家姓》多3倍。到了明初,有个叫吴沈的人,编了一部《千家姓》,共收姓氏1968个。这部《千家姓》仍然没有把中国人的姓氏都包括进去。于是万历年间又有人编了一本“万家姓”——《古今万姓统谱》。然而,中国人的姓氏毕竟不到一万,据统计只有6363个,所谓“万姓”,极言其多。然而有人便据以实言中国姓氏有一万种之多,并不确。
清康熙时,曾出现有《御制百家姓》,以“孔”姓居首。但一直流传至今的,仍为宋朝的《百家姓》。它采取四言体,押韵,读来琅琅上口,是旧私塾的识字课本及儿童的启蒙读物。