据乌镇近郊的谭家湾古文化遗址考证表明,大约在7000年前,乌镇的先民就在这一带繁衍生息了。那一时期,属于新石器时代的马家浜文化。
春秋时期,乌镇是吴越边境,吴国在此驻兵以防备越国,史称"乌戍"。
秦时,乌镇属会稽郡,以车溪(即今市河)为界,西为乌墩,属乌程县,东为青墩,属由拳县,乌镇分而治之。其后,乌镇或属浙江的湖州、嘉兴管辖,或属江苏的苏州治理。
唐时,乌镇隶属苏州府。后梁,隶属不变,为吴越国地。后晋天福五年(940),置秀州,青墩遂属嘉兴县隶秀州。
宋淳化三年(992),乌镇属乌程隶湖州。熙宁十年(1077),析嘉兴县西境的梧桐、永新、清风等5个乡归崇德县,青镇在清风乡,属崇德隶秀州。元丰初年,有分乌墩镇、青墩镇的记载,后为避光宗讳,改称乌镇、青镇。嘉定年间,升嘉兴为军,青镇遂属崇德隶嘉兴军。宝庆二年(1226),改湖州为安吉,乌镇为安吉州乌程县地。宋代,镇地设监镇官,管火禁和酒税,并招军习武,以御盗寇。
元至元十四年(1277),乌镇为湖州路乌程县地,青镇为嘉兴路崇德县地。镇地设都巡检。
明宣德五年(1430),析崇德县的募化、千金、保宁、清风、永兴和梧桐六乡置桐乡县,青镇属之,隶嘉兴府;乌镇仍属乌程隶湖州府。这一隶属关系至清未变。
由于乌镇是两省、三府、七县交接处,治安环境十分复杂,所以,明清时在乌镇特别设立浙直分署和江浙分署,以一小镇而行使相当于府衙的职能。
民国元年(1912),乌、青两镇依旧分治。1950年5月,乌、青两镇终于合并,称乌镇,属桐乡县,隶嘉兴,直到今天。