The church was built in limestone at the end of the twelfth century, with a nave, narrower chancel and apse in the Romanesque style typical of the period. This core survives in the chancel, apse and the lower part of the nave up to the present gallery.
Over the following centuries the building was extended and altered. A western extension was added in the 1300s, and a sacristy was built north of the tower in the 1400s. According to one source, the medieval porch to the south was later removed and the medieval vaulting replaced with wooden barrel vaults. The granite tower dates from 1787, replacing an earlier wooden tower with a spire, and new windows were also inserted at that time. The church is generally said to have taken its present external form during the 1800s, following further work in 1871.
Several notable furnishings survive from the medieval period alongside later additions. The sandstone font, dated to the twelfth century and attributed to Master Arcadius, is carved with figures and arcading. A late medieval altar cabinet depicts Christ on the cross flanked by apostles identified by their traditional attributes. Other medieval wooden sculptures include a Gothic crucifix, a figure of the Virgin and Child, a composite figure of Saint Anne with Mary and the infant Jesus, and a pilgrim-garbed statue of the apostle James.
The church bells are also of interest: the smaller bell is said to date from the 1100s, making it, by one account, among the oldest in Östergötland, while the larger bell was cast in 1445 and bears pilgrim marks and a Latin inscription invoking Saint James's protection.
The present organ was built in 1964 by Reinhard Kohlus of Vadstena, incorporating parts of an earlier 1876 instrument by Per Åkerman, whose case still forms the facade. An earlier organ, built in 1759 by Jonas Wistenius of Linköping, is commemorated by a painted wooden plaque recording its dedication.
The interior was renovated in 1966 under Kurt von Schmalensee, with the exterior restored in 1968, and the churchyard was extended in 1987.