1、出自芈姓:是春秋时期楚国王族之后,以谥号为氏。据《急就篇》和《名贤氏族言行类稿》所载,楚国君王芈旅去世后,谥号为“庄”,即历史上德楚庄王。楚庄王德支庶子孙,以祖上谥号为姓,成为庄氏。
2、出自子姓:春秋时宋国戴公武庄之后,以祖字为氏。据《姓氏考略》和《资治通鉴音注》所载,春秋时宋国国君宋戴公名武庄,其后人即以其字为姓,成为庄姓一支。庄姓形成以后,曾于汉代出现过一次易姓。汉明帝名刘庄,讳庄字。庄姓在汉明帝以后改为严姓。魏晋南北朝时,有的严姓复祖姓仍为庄姓,故历史上有“庄严一家”之说。庄姓望出天水(今甘肃省通渭县西南)。
3、出自他族改姓而来:今回、满、台湾土著等民族均有此姓。