La Madeleine est une rivière qui prend sa source à 780 m d'altitude dans le fond d'une vallée sauvage du massif des Vosges, au pied du Baerenkopf, située sur la commune de Lamadeleine-Val-des-Anges. Après un parcours de 25 km, elle donne naissance, 440 m plus bas et après avoir rejoint la rivière de la Saint-Nicolas à Bretagne, à La Bourbeuse.
Elle possède deux affluents principaux : le ruisseau de Bourg-sous-Châtelet à Anjoutey et l'Autruche (13,6 km) qui s'y jette à Novillard. Son bassin versant, hors Autruche, a une superficie de 45 km2.
Comme pour les autres rivières qui prennent leur source dans le massif des Vosges (la Savoureuse, la Rosemontoise...), le débit de la Madeleine peut varier dans d'énormes proportions au cours de l'année, passant d'un simple filet d'eau à l’étiage à l'aspect d'un rapide prêt à sortir de son lit. Les aménagements des rives effectués après la grande crue de 1990 limitent les risques d'inondation.
La Madeleine se caractérise par la diversité des milieux traversés :
La Madeleine est classée en 1re catégorie dans sa partie amont, jusqu'à son passage sous la route départementale 419 au Moulin-des-Bois sur la commune de Bessoncourt.
La Madeleine traverse : Anjoutey, Bessoncourt, Bethonvilliers, Etueffont, Fontenelle, Lacollonge, Lamadeleine-Val-des-Anges, Menoncourt, Novillard, Petit-Croix, Saint-Germain-le-Châtelet.