Stavoren behoort tot de oudste van de Friese elf steden. De nederzetting lag gunstig aan enkele waterwegen, maar water is Stavoren ook noodlottig geworden. Nadat de Zuiderzee was gevormd, was de plaats kwetsbaar: stormen sloegen stukken van de stad weg, slokten zelfs het belangrijke Odulphusklooster op.
Al vanaf de 9de eeuw nam Stavoren deel aan de handelsvaart langs de Noordzeekust en spoedig daarna werd het geplunderd door de Noormannen. Stavoren werd Hanzestad, kreeg in de 12de eeuw het tolprivilege van de keizer en kon zich spoedig stad noemen. Vooral aan de zeehandel had Stavoren haar bloei te danken.
Met vallen en opstaan zijn de havens het brandpunt van de bedrijvigheid gebleven. Het is een tijdlang stil geweest totdat Stavoren de kansen van de recreatievaart greep. Op de kade tussen de oude Buitenhaven, de haven voor de ‘bruine vloot’ met drukke charters, en de Spoorhaven, waar de veerdienst op Enkhuizen en de halteplaats van de spoorwegen te vinden zijn, staat het VVV-kantoor. Het havengebied is vernieuwd. Er is nog sfeer te proeven uit de tijd dat dit nog een heuse zeehaven was.
De witte sluisbrug geeft toegang tot de stad. De sluis dateert van 1576 en is eeuwenlang van belang voor de grote scheepvaart uit het achterland geweest. De sluis werd dan ook door de stad en omliggende plattelandsgemeenten onderhouden. Door de aanleg van de Johan Frisosluis (1966) aan de zuidzijde van de stad verloor de oude sluis haar functie. Het waterstaatkundig monument is in 1979 gerestaureerd. De wipbrug naar oud model draagt het stadswapen. Naast de sluis staat het havengebouw voor de buitenhaven. Vlakbij de brug staat het beeld van het Vrouwtje van Stavoren, de vrouw die de val van de hoogmoed verpersoonlijkt. Verder zeewaarts ligt de Visserijhaven met eigentijdse, kleurige nieuwbouw die in zijn vormen verwijst naar historische havenfronten.
Waar ooit de vloot van Staverse jollen lag, is het nu de thuishaven van viskotters. In de visafslag wordt nog geregeld vis geveild. Aan het einde van de Havenweg staat een leugenbank naast een taanketel waarin zeilen, trossen en netten ter conservering werden bewerkt. Op het havenhoofd staat het rode havenlicht (1884) en aan de andere zijde het andere, groene, licht.
Op het grote open grasveld naast de Havenweg stond ooit het blokhuis of het kasteel van Stavoren. Het blokhuis was kort na 1500 door Albrecht van Saksen gebouwd als een vesting van ongeveer 100 bij 100 m. In 1996 zijn de grondvesten archeologisch onderzocht.
De Smidsstraat is de winkelstraat van Stavoren en deze leidt naar de Voorstraat, de straat aan weerszijden van de Voordelft, de belangrijkste gracht van de stad. Nu een groen omzoomde en door geboomte overwelfde, rustige gracht, waar vroeger redershuizen en pakhuizen stonden. Het is voor het grootste deel lage, eenvoudige bebouwing uit de 19de eeuw. Op de hoek van de Burgemeester Albertsstraat staat het uiterst eenvoudige kerkje van de doopsgezinden. In het midden rijst aan de westzijde het voormalige stadhuis op. Het is een hoog, blokvormig en fraai gedetailleerd gebouw uit 1880. Voorheen verschafte de linkerzijde huisvesting aan de burgemeester en zijn gezin. De rechterzijde was voor secretarie, burgemeesterskamer en raadzaal, met beschilderde behangsels. Bij de gemeentelijke herindeling in 1984 kwamen de steden Stavoren, Hindeloopen en Workum in de nieuw gevormde gemeente Nijefurd te liggen en verloor dit stadhuis zijn functie. Tegenover het stadhuis ligt de hervormde kerk achter de bebouwing, een zaalkerk met fraaie neoclassicistische ingangspartij en een elegant torentje uit 1860.
Aan de oostzijde van de oude stad loopt de Schans, thans een kade langs de brede buitengracht, vroeger de vestingwal. Op nummer 23 is stadsherberg Aldgillis te vinden: een bruin café met wandschilderingen. Aan de overzijde van de Schans ligt de bescheiden stadsuitbreiding. Helemaal ten zuiden van de stad ligt de Johan Frisosluis. Even verderop zijn de karakteristieke contouren van het Ir. Hoogland gemaal te zien, in 1968 door architect Piet de Vries ontworpen als spannende waterdoorgang door een dijk.