根据《春秋公羊传》记载“天子嫁女乎诸侯,必使诸侯同姓者主之”意思是,周天子把女儿嫁给诸侯,自己是不会去主婚的,而是请和自己同姓的诸侯作为长辈主婚。诸侯中最高的爵位就是公。(公侯伯子男五爵)。于是公来主婚的女孩子,被称为公主。
先秦时代被称为公主的并不限于天子的女儿,《史记·孙子吴起列传》说:“公叔为相,尚未公主”。可见魏国作为诸侯,他的女儿也能被叫公主。先秦时,诸侯的女儿也可以叫君主。意思是以国君主婚的女孩,而不是我们平时所说的国家元首的君主。《史记·六国年表》记载“秦,初以君主妻河。”《索隐》解释说“君主,犹公主也。”
到了汉代,大一统后,阶级更加分明。皇帝的女儿被称为公主。王爷的女儿被称为翁主。《汉书·高帝纪》里说天子不亲自主婚,故谓之公主。而王爷们要给自己的女儿亲自主婚,因此称翁主,翁就是父亲的意思。
汉代以后只保留了公主的名字,翁主被废除。到宋朝时期,赵匡胤封赵普之女为郡主,高怀德之女为县主。明显是按照郡县制来规定的。后来宋徽宗时期,因为赵佶附庸风雅,复古,称公主为帝姬,君主为宗姬,县主为族姬。到南宋,元,明时期仍复称为公主,君主。
到了清朝时期,口语称公主们为格格。在满语里,格格是小姐的意思,皇族,王族的女儿都称为格格。我们小时候常看的电视剧《还珠格格》《新月格格》等都是这么来的。
虽然口语叫格格,但是自皇太极时,学习汉人,仿照明制,官方称格格们为公主。皇帝家的女儿称为固伦公主,亲王的女儿叫和硕公主。到乾隆之后,皇帝的女儿也要看皇帝的亲疏来封固伦和硕两种公主了。