L'église est orientée et présente un plan longitudinal avec un faux transept. La nef est à un seul vaisseau. Deux annexes flanquent le chœur, une pour chaque mur gouttereau. La tour-clocher flanque le chœur à l’extrémité orientale sur le mur gouttereau sud. Le chœur se termine par un chevet plat.
La façade principale à pignon couvert est percée d'un portail en anse de panier dont les vantaux sont rectangulaires. Il est surmonté d'une fronton triangulaire qui contient une baie en demi-lune. La tour-clocher de base carrée s'appuie sur de hauts contreforts d'angle. Ses murs gouttereaux sont percés d'un duo de baies brisées étroites puis, au niveau supérieur, de deux baies en arc brisé à lancettes partiellement obstruées. La tour-clocher est coiffée d'une flèche en deux parties. Il s'agit d'un premier niveau semblable à une toiture en pavillon qui est surmonté d'une petite flèche polygonale. La nef est éclairée par deux baies cintrées côté nord et trois baies en arc brisé côté sud. Le chœur est éclairé par des baies cintrées, dont une percée dans le chevet. Les chapelles annexes sont éclairées par de petites baies rectangulaires. La nef, le chœur et les annexes sont tous couverts par une toiture à double pente.
L'église s'élève sur un seul niveau. La voûte cintrée est lambrissée mais uniquement au-dessus de la nef.
Le gros œuvre de l'église, comme la tour-clocher, date du XIIIe siècle. La nef et le chœur ont été reconstruits entre 1741 et 1743. Le clocher a été restauré en 1788. La nef a été prolongée en 1829.
L'église est mentionnée depuis 1027 comme faisant partie du domaine de Heudebouville. Son patronage appartenait à l'abbaye de Fécamp (76). L'église du XIe siècle a été entièrement détruite et reconstruite au XIIIe siècle.