Crossac est situé en bordure de Brière, à 7 km à l’ouest de Pontchâteau et 15 km au nord-est de Saint-Nazaire.

Son altitude est mini. 0 m — maxi. 22 m (altitude : 10 mètres au Bourg, 20 mètres dans la grée au-dessus de Cunta).

La superficie de la commune est de 2585 hectares dont un tiers de marais.