The church's oldest part is the rectangular nave, thought to date from the 1200s, when it was lit by small windows and covered by a timber roof. A stone font from around the mid-thirteenth century, still in use today, is believed to be roughly contemporary with the building itself.
Around the mid-1400s the wooden roof was replaced with four brick star vaults, and a porch was added, complete with a richly decorated iron-bound door that survives to this day. Between 1485 and 1486 the church was extended eastward with the current chancel and a sacristy, reportedly funded by Gregor Mattsson Lillie, a local lawman and patron of the church; a stained-glass fragment bearing his family's coat of arms survives in the chancel window. Fragmentary medieval wall paintings, including a figure tentatively identified as Saint Cyriacus confronting a demon, along with several consecration crosses, are thought to date from this period of rebuilding.
In the 1630s Jesper Nilsson Cruus, a courtier under Charles IX and owner of the nearby Frösåker estate, added a burial chapel on the south side of the chancel. He also donated the pulpit still used today, along with a bell that he later reclaimed following a dispute with the vicar. The burial chapel later became associated with the Gyllenstierna family, after Frösåker passed into their hands, and is now known as the Gyllenstierna burial chapel; its entrance from the church interior was walled up in 1921.//The chapel remains attached to the church exterior, distinguished by its shallower, metal-clad roof.
Over the centuries the damp ground around the church caused repeated structural problems, prompting repairs to the roof and floors, and rebuilding of the vaults, particularly in the 1700s and early 1800s. A major Victorian-era restoration in 1872 enlarged the windows to their present size and altered much of the interior. Twentieth-century restorations, carried out in two phases (from 1921 under architect Sven Brandel, and in 1953 under Viktor Segerstedt), sought to undo some of these Victorian changes and recover an earlier appearance: the chancel window was reduced and given its current round form, filled with stained glass by artist Yngve Lundström; the medieval altar cabinet was returned to its place; and wall paintings were uncovered and conserved.
Among the church's notable furnishings is a distinctive late-1400s altar cabinet, made in northern Germany, depicting the Pentecost with the apostles gathered around Mary — unusually including a female figure among them, possibly Mary Magdalene. Two bells hang in a freestanding wooden bell tower on a rise north of the church, moved to its present site in 1937; a burial chapel nearby was built in 1939–1941 to a design by architect Enar Leffler.