The town itself is built on a promontory which juts out from the eastern bank of Lake Orta close to Isola San Giulio, an island which also falls within the municipal boundaries. The frazione Legro stands on the hill which rises behind the promontory, Corconio is some 2 kilometres (1.2 mi) further south, and again away from the lake, while Imola consists of a small number of dwellings between the two, but close to the lake on the road leading to Gozzano. The municipality borders on Pettenasco to the north, Miasino and Ameno to the east, Bolzano Novarese and Gozzano to the south, and San Maurizio d'Opaglio and Pella to the west across the lake.