La commune de Puyravault est idéalement située dans le marais poitevin au sud de la Vendée, entre les communes de Champagné les marais, Moreilles et Sainte Radégonde des Noyers. Le sud de la commune est limité par la Sèvre Niortaise et la baie de l'aiguillon.