Maccagno è ubicato sul Lago Maggiore, in provincia di Varese, in Lombardia.
Il paese ha ca. 2.400 abitanti (situazione al 2011) ed è attraversato dal fiume Giona separandolo così due parti: in alto, la frazione di Maccagno Superiore e, direttamente sul lago, la frazione di Maccagno Inferiore.
Maccagno è una piccola località turistica, esposta a sud, sulla sponda settentrionale del Lago Maggiore. Luino, con il suo famoso mercato settimanale (ogni mercoledì), si trova a soli 5 km più a sud.
Nel paese ci sono:
un punto d'attracco per imbarcazioni, una stazione ferroviaria, mostre, il parco pubblico Giona con spiaggia, bellissimi percorsi lungolago comunicanti.
Da Maccagno con una stradina di montagna è possibile raggiungere la graziosa Val Veddasca, che offre numerosi possibilità escursionistiche e antichi borghi alpini da visitare; degno di menzione è Monteviasco (924 m), raggiungibile solo a piedi o in funivia, antico paese di contrabbandieri praticamente abbandonato, poco sotto al confine con la Svizzera.