在上古,姓和氏是严格地加以区别的。姓,是代表有共同血缘关系种族的称号。在母系社会,从母姓,所以“姓”字从“女”、从“生”。古姓如“姒”(sì)、“姬”、“姜”等都从“女”。氏,是由姓衍生的分支,一族分为若干散支居各地,各支的特殊称号,就是氏。姓是一生下来就确定了的。氏只有贵族才有。贵族中女子称姓,男子称氏。因为氏是用来辨别贵贱的,所以一般平民只有名,没有姓氏。到了秦代,姓和氏开始合二为一。进入汉代,姓和氏完全融为一体。
至于每个姓的来历,由于政治、地理、民族等情况的不同,比较复杂,有的已不可考。比如,《愚公移山》:“邻人京城氏之孀妻有遗男。”《韩非子·内储说上》:“南郭处士请为王吹竽。”“京城”、“南郭”是以出生地或住地为姓。《史记》的作者司马迁及《答司马谏议书》的“司马”是以官职为姓。《师说》提到的师襄,“师”是以职业为姓,《两小儿辨日》:“孔子东游。”“孔”是以祖父的字为姓。孔子是宋公孙嘉的后代,公孙嘉的字为孔父。《鸿门宴》中项羽的“项”,柳宗元的“柳”,是以封地为姓。项羽的家族世代为楚将,因封于“项”这个地方,所以姓项。相传春秋时鲁国大夫展禽,封于柳下,谥号惠,又叫柳下惠,他的后代就姓柳。《永遇乐·京口北固亭怀古》注释:“佛狸,是后魏太武帝拓跋焘的小字。”拓跋,是少数民族姓氏的音译。