秦属会稽郡吴县。
唐万岁通天元年(696),属长洲县苏台都,称贞丰里。
五代后梁开平三年(909),镇区分属长洲、吴江两县。
清雍正二年(1724),镇区分属元和、吴江两县。
1912年,镇区分属吴县、吴江两县。
1949年11月,属吴县淞南区。
1952年9月,周庄镇划入昆山县(今昆山市)。
1956年3月,太史乡并入浜湖、双湖两乡,属昆山县;同年8月,浜湖乡和双湖乡合并为周庄乡。
1957年8月,周庄镇并入周庄乡。
1958年9月,周庄乡改建为人民公社。
1983年4月,公社改乡。
1988年7月,撤乡改镇。