Skibet er romansk. Et enkelt vindue med monolit overligger er bevaret på nordsiden. Flere overliggere er indmuret i nordkapellet. Norddøren er tilmuret, men syddøren er endnu i brug. Det oprindelige romanske kor er ombygget til et sengotisk langhuskor o. år 1500 med genanvendelse af de romanske sokkelsten. Østgavlen er ombygget i 1653 og 1681.
Tårnet er fra o. 1500. Forneden er det opført af udflyttede kvadre ovenover af munkesten. Til hvert verdenshjørne er der to glamhuller. De kamtakkede gavle er fra 1600-tallet.
Våbenhuset er fra o. 1500, mens den nordre korsarm er opført i 1591.
I 1721 blev kirketienden tilskødet major Friederich Rantzau til Bratskov. 1. januar 1910 blev den selvejende.
Kirken har to klokker. Den ene er fra 1450-75 og støbt af P.L.P. med indskriften: »Ave Maria gratia plena Dom[inus] tecum ben...« - Det fortælles, at en hollandsk skipper, der var i havsnød på Jammerbugten, har skænket klokken til kirken i taknemlighed for sin redning.
Den anden klokke er fra 1620 og støbt af Rolf Borchart. Den har to indskrifter: »Si Deus pro nobis, quis contra nos. Anno 1620. Rudolphus Borchardt me fecit.&lauo; (Hvis Gud er med os, hvem kan da være mod os. År 1620. Rudolph Borchardt gjorde mig.) - Den anden indskrift lyder: »Lod welbyrdige Holger Gagge støbe denne klaake till Kaalderup Kirke udi Hanherret.«
I 1601 blev en klokke afleveret til klokkeskatten, hvorfor den ikke længere eksisterer.