中国人在三皇五帝以前(距今约五千年),就有了姓。据传说,姓的最早起源与原始民族的图腾崇拜有关。氏族部落不但对图腾奉若神明,禁止食、杀、冒犯,而且把它作为本氏族统一的族号。在原始部落中,图腾、族名和祖先名常常是一致的,久而久之,图腾的名称就演变成同一氏族全体成员共有的标记——姓。由图腾演变为姓的传说很多。据考证,夜郎国的国君是竹王,他的臣民以竹为图腾,姓竹。又据史书记载,晋国有狐毛、蛇平,汉代有狗未央、狼莫、鹿旗,三国有豹皮公等人。透过这些古怪的姓名和骆、虎、蚁、牛、羊、鸟、龙、竹、梧、茶、菊等与动物、植物名称相同的姓氏,隐约可见图腾崇拜对姓氏起源的不可磨灭的历史印迹。
姓的形成除与图腾关系密切外,还与女性分不开。那时是母族社会,只知有母,不知有父。所以“姓”是“女”和“生”组成,就说明最早的姓,是跟母亲的姓。据考古学资料表明,西周铜器铭文中,可以明确考定的姓不到三十个,但大多数都从女旁,如:姜、姚、姒、姬、娲、婢、妊、妃、好、赢等等。不仅古姓多与“女”字相关,就连“姓”这个字本身也从女旁,这大概是母系氏族制度的一个特征性产物。妇女在生产生活中居于支配地位,实行群婚制,兄弟姐妹之间可以通婚,在这种制度下,子女只知其母,不知其父,所以在神话里流传着“圣人无父,感天而生”的许多故事。许多古姓都从女旁,可见我们祖先经历过母系氏族公社的痕迹。
夏、商、周的时候,人们有姓也有氏。在古代氏族发展的过程中,又衍生出“氏”这个称号。传说,黄帝治理天下时,已有“胙土命氏”。氏的产生,最大量、最频繁的时代是周朝。周朝初年,为控制被征服的广大地区,大规模地分封诸侯。而这些诸侯国的后人即以封国名为氏。另外,各诸侯国又以同样的方式对国内的卿大夫进行分封,大夫的后人又以受封国的名称为氏。以后,各种形式的氏的来源又不断出现,并且氏的数量远远超过了姓的数量。但是只有贵族才有氏,贫贱者有名无氏,氏成为贵族独有的标志。至于贵族妇女,则无论怎么称呼都必须带上姓,这反映了中国古代封建宗法制度的权威性和严谨性。到战国时期,社会剧烈变动,旧贵族没落了,有的还沦为奴隶。这表明贵族身份的氏,已无存在的必要。
“姓”是从居住的村落,或者所属的部族名称而来。“氏”是从君主所封的地、所赐的爵位、所任的官职,或者死后按照功绩,追加的称号而来。所以贵族有姓、有名、也有氏; 平民有姓,有名,没有氏。同“氏”的男女可以通婚,同“姓”的男女却不可以通婚。因为中国人很早就发现这条遗传规律:近亲通婚对后代不利。姓的产生,从史书上看,先秦时期的《国语·晋语》记载“黄帝以姬水成,炎帝以姜水成,故黄帝为姬,炎帝为姜”。《周语》记载“我姬民出自天鼋”。由此说明姓是代表有共同血缘关系种族的称号。同姓之间不许通婚,是周代婚姻制度的规矩,“男女同姓,其生不蕃”(《左传·僖公二十二年》),“同姓不婚,恶不殖也”(《国语·晋剧》)。古人很早就懂得近亲婚配会产生不良后代的道理,为辨别男女姓的异同从而决定嫁娶与否,在女子称谓中标明姓就是非常必要的了。由此可见,姓的作用在古代主要就是“别种类”“别婚姻”。
姓氏相别的制度一直沿用到战国后期。秦朝时,旧贵族瓦解,西周封建宗法制度基本结束,旧的氏族及姓氏制度也被清除殆尽。西汉时期,姓和氏的区别已经微乎其微。司马迁作《史记》时,干脆把姓氏混为一谈,“姓氏之称,自太史公始混而为一,《本纪》于秦始皇则曰‘姓赵氏’,于汉高祖则曰‘姓刘氏’,是也。”(顾炎武《目知录》)此后,中国的姓与氏合而为一,或言姓,或言氏,氏即姓,人们使用姓氏时简单省事,也无贵贱之别,因而平民也从无姓到有姓。
唐太宗(627年)的时候,有个吏部尚书高士廉,把民间的“姓”记录下来,写成一本书《氏族志》,颁布天下,作为当时推举贤能作官,或撮合婚姻的依据。中国旧时流行的《百家姓》是北宋(960年)的时候写的,里面一共收集了单姓408个,复姓30个,一共438个。发展到后来,据说有4000 到6000个,但是实际应用的,只有1000个左右。