起源主要有三:①出自芈姓。据《急就篇》和《名贤氏族言行类稿》载,春秋时楚庄王之后,以谥号为氏。②出自子姓。据《姓氏考略》和《资治通鉴音注》载,春秋时宋国国君宋戴公名武庄,其后裔有的以王父字为氏。③出自他族。今回、满、台湾土著等民族均有庄姓。庄姓曾于汉代出现过一次易姓,汉明帝名刘庄,讳庄字,庄姓遂改为严姓,魏晋南北朝时,有的严姓复祖姓仍为庄姓,故历史上有“庄严一家”之说。
十六国时,庄姓子孙纷纷从今湖北、河南分散各地,先后迁居甘肃天水、浙江绍兴、山东、江苏等地,后发展成天水、会稽和东海郡望。唐末,河南光州固始人庄森(王潮外甥)随王潮、王审知入闽,落籍永春桃源里蓬莱山,为庄姓入闽始祖。如今,庄姓在全国分布较广,尤以广东、江苏、浙江、台湾等省为多。目前庄姓人口列较好百三十八位。