据《上海名街志》记载,地理意义上的十六铺始于北宋天圣元年(1023年)。当时,吴凇江下游有一条支流名上海浦(即今十六铺处),岸边逐渐形成聚落,渔民、盐民、农民等常在此处交换商品,饮酒聚会。
而地名学上“十六铺”的首现,是清朝的咸丰、同治年间。为了防
御太平军进攻,地方官员搞起了团练组织———将上海县城厢内外的商号建立了一种联保联防的“铺”。由铺负责铺内治安,公事由铺内各商号共同承担。

计划是划分为27个铺,但因种种原因实际上只划分了16个铺(从头铺到十六铺)。“十六铺”是16个铺中区域最大的:包括了上海县城大东门外,西至城濠,东至黄浦江,北至小东门大街与法租界接壤,南至万裕码头街及王家码头街的广大面积。
1909年,上海县实行地方自治,各铺即被取消名称随之消失。由于十六铺地处上海港最热闹的黄浦江边,国内客、货运航线集中于此,码头林立,客流量极大,来往旅客和上海居民口耳相传将这里称作“十六铺”,该名称也因而顽强得存用至今。
清乾隆后,海禁开放。由于受制于当时的船舶制造技术(北洋航线上的船舶不能在南洋航线上航行,反之亦然),上海港成为当时南、北货轮必然停泊之处,再加上长江航线、远洋航线、内河航线,各种船舶齐集于今十六铺地区。
事实上,十六铺码头从来就不是“一个”码头,而是各个历史时期十六铺地区范围内很多码头的不规范总称。