The church's oldest parts, the sacristy and the eastern section of the nave, date from sometime between 1250 and 1350, making it a medieval building at its core. During the 15th century the wooden barrel vault over the nave was replaced with brick rib vaults, and around the 1490s the interior was decorated with wall paintings believed, on stylistic grounds, to be the work of Albertus Pictor's workshop. A narrower western extension was also added in the 15th century; its unusually thick walls suggest it may have been intended as an unfinished tower. The porch is thought to date from the late medieval period, and a restoration in 1928–1929 uncovered the wall paintings, which had previously been whitewashed over.
The building is a single-hall church (salkyrka) with a sacristy to the north and a porch to the south, its roofs covered in wooden shingles and its walls roughcast and painted yellow. Set into the south wall is a well-preserved rune stone from around 1100, carved in the Urnes style and bearing a prayer to Christ, making it one of the more striking external features for visitors to look out for.
Inside, the font is carved from mottled pink-and-grey sandstone and dates from the 15th century, while the choir contains a four-seat oak choir bench also from the medieval period. The late Baroque pulpit was donated to the church in 1748, and the altarpiece was made in 1740 and rebuilt in 1781.
The church has had a series of organs. An early instrument with four stops was built by Daniel Stråhle in 1731, a gift from a local general and his wife, and was enlarged to eight stops in 1759. A further organ of nine stops followed in 1838–39, whose facade survives in the current pneumatic organ, built in 1929 and later renovated.
Outside, between the church and the old high road, lies a burial field of the late Iron Age type with a large burial mound. South of the churchyard stands a separate bell tower, given its present form in 1800, housing two bells cast by a Stockholm founder in 1655 and 1752. The churchyard wall of grey stone, once roofed, includes a 15th-century covered gateway (stiglucka) in its southern section, and in the northern wall stands a small timber-built loft store with a red-painted panel facade — thought to be the only surviving timbered tithe barn of its kind in Uppland.