The church began as a small stone building at the end of the 1100s, comprising a nave with a narrow west tower and a modest eastern chancel. Towards the end of the 1400s it was enlarged eastward, given a chancel matching the width of the nave, and fitted with a sacristy and porch. Star vaults with heavily brick-ornamented ribs were added at this time, and the nave and tower were reinforced with monk-bond brickwork, now visible only from the attic.
Further change came in 1671, when the Stiernsköld family's burial chapel was added on the south side of the chancel. A more substantial remodelling followed in 1859, when the current three-sided chancel was built to designs by the architect Johan Fredrik Åbom. A burial vault for the Celsing family was constructed beneath the new chancel; it was apparently used at times for temporary storage of coffins but, according to the source, never put to its intended use. The present sacristy dates from the same 1859 works, while the older sacristy was opened into the church interior, and the building's medieval-style stepped gables were added at this point.
The church's furnishings include a wooden pulpit carved by a craftsman named Jöns and donated in 1682 by Gustaf Adolf Sparre of Biby, made of oak with black ebony detailing. There is also a Romanesque font with a rope-moulded band and a square base, a good example of the plainer stone carving typical of the period.
The church's organ history is a story of successive replacements rather than a single instrument surviving intact. An organ probably dating from the 1500s, donated by the Stiernsköld family, was rebuilt in 1696 and later moved to Lista church in the 1700s. Subsequent organs were built in 1797, 1896 and 1947, before the current mechanical organ was installed in 1979 by Grönlunds Orgelbyggeri, incorporating the façade of the 1797 instrument.