D’une superficie de 2 640 ha dont 1 000 ha boisés, Saint-Jean-de-Marsacq est un village de la côte Sud des Landes à mi-chemin entre Dax et Bayonne, à proximité des axes importants du département. La partie nord-ouest appartient aux landes forestières et aux champs de maïs. Les paysages du sud sont plus variés, parfois vallonnés, couverts de bois feuillus, de prairies ou encore de pins maritimes. Au cœur du village, se côtoient tradition et modernité.
À une quinzaine de minutes de l’océan Atlantique et à une heure de la montagne, les Saint-Jeannais ont la chance de pouvoir profiter du coucher du soleil sur l’océan ou de partir skier sur les pistes des Pyrénées. Longée à l’Est par un fleuve, la commune trouve en l’Adour sa limite naturelle avec les communes limitrophes.