辛姓的起源主要有以下幾種說法:
出自姒姓。夏王啟封庶子於莘(今陝西省合陽縣東南),建立莘國,其後代以地為姓,稱為莘姓。由於「莘」與「辛」在古時同音,後去掉「艹」字頭,改為辛姓。
出自高辛氏。相傳黃帝的後代中有高辛氏,其部分後代去掉「高」字,改為辛姓。
出自上古時期的有辛氏族。這部分人直接以辛為姓。
出自賜姓。例如,北周時期有項氏被賜姓辛,其後代顯赫於唐代。
其他族群融入。包括清代的滿洲人、蒙古人、朝鮮人等,後因漢化而採用辛姓。
歷史上,辛姓的發展和分布經歷了多次變遷。先秦時期,辛姓主要活動於陝西、河南、山東、河北等地。秦漢時期,辛姓已經基本分布於長江以北的廣大地區。唐宋時期,辛姓在長江以南也有了分布。明朝時期,辛姓人口大約有5萬人,約占全國人口的0.06%,排在第一百九十位以後。