Den karakteristiske middelalderlige byplan er bevaret med en usædvanlig harmonisk bebyggelse. Mange huse er fra 1800-tallet, hvor befolkningens tredobling medførte en kraftig fortætning og fornyelse af bebyggelsen. Bogense blev færdigbygget, inden nye byggemåder fortrængte byggeskikken med bindingsværksbygninger og brugen af traditionelle materialer.
Den fine renæssancegård og kro, Østergade 2, fra omkring år 1600 og den store købmandsgård i Østergade fra 1600- og 1700-tallet er begge opført i bindingsværk. De store købmænd havde gårde i Østergade og på Adelgades attraktive sydside med direkte adgang til Bybæk, hvor deres lange facader med porte til gårdene stadig ses. De smalle vandgange mellem gårdene gav andre borgere adgang til vandet i bækken. De fredede rækker af lindetræer i begge sider af Torvet, plantet i 1860’erne, skaber en smuk, langstrakt plads ud for den lave kant af byhuse fra begyndelsen af 1800-tallet, som ender ved Sankt Nicolaj Kirke. Kun Borgerskolen fra 1853 afviger med sine to etager og sin længde fra det lave 1800-talsbyggeri. Kirkepladsen er ligeledes stemningsfuld med sine mægtige træer og få grave i græstæppet. Nord herfor, ud mod Lillebælt, ligger den regelmæssige kirkegård.
I Skt. Annagade ligger det fredede tidligere rådhus fra 1846, og overfor opførtes i 1890 Teknisk Skole med Alfred Petersen som arkitekt. Han tegnede også Bogense Kommuneskole fra 1908. Jernstøberiet fra 1852 i Adelgade er i dag ombygget til boliger. Banegården fra 1882 er tegnet af Statsbanernes chefarkitekt, N.P. Holsøe. Det nuværende rådhus fra 1921 er tegnet af J.V. Jepsen i nyklassicistisk stil. I Æbeløkvarteret kom i mellemkrigstiden byens første villaer. Ved havnen er Toldkammeret opført i 1850 med N.S. Nebelong som arkitekt tæt på den tidligere præstegård fra 1853 i senklassicistisk stil.
Havnen er udbygget med marina og ny bebyggelse langs Østre Mole. Arkitektfirmaerne Anders Sunke Arkitekter og LAND+ har 2014‑16 udformet en ny plads, hvor Østre Mole begynder, samt et nyt havnebad og en kajaktrappe for enden af Østre Mole.