Впервые упоминается как село Весь Егонская в 1564 году. Однако краевед и писатель Борис Фёдорович Купцов предполагает более раннюю дату — 1447 год.
В XVIII—XIX веках Весь Егонская — важный торговый центр. С 1776 года уездный город в Тверском наместничестве, а с 1796 года в Тверской губернии.
Значение Весьегонска резко упало с прекращением регулярного судоходства по Тихвинской водной системе во второй половине XIX века. В начале 1920-х годов предпринимались попытки оживления системы, в 1926 году к Весьегонску была подведена железнодорожная ветка, которую предполагалось продлить до линии Череповец-Бабаево, однако вскоре работы были прекращены. В начале 1940-х город почти полностью был затоплен в связи с заполнением Рыбинского водохранилища и отстроен на новом месте. Большое количество населения до 40-50-х годов 20-го века говорило на вепсском языке.
Весьегонск — самый северный город Тверской области, расположен на берегу Моложского залива Рыбинского водохранилища, в 253 км от Твери.