Cannobio is a town and comune on the river Cannobino and the shore of Lago Maggiore in Piedmont, Italy.