The church dates back to the 1200s, when it was built as a single-hall church of granite rubble, with the nave forming the original body of the building. A sacristy was added to the north in the 1300s, and a porch followed in the first half of the 1400s. Later that century brick vaults were installed throughout, and the original east gable was demolished so the church could be extended with the present brick-built chancel, which is narrower in height than the nave though equal in width. The plain, window-less north wall is typical of medieval church design in the region.
The most distinctive external feature is the stiglucka on the north-west boundary wall, built of rendered brick on a granite base, dating from the 1400s and containing a small opening from which preaching friars are said to have addressed gathered crowds. A second, similar gateway on the south side of the churchyard was demolished in 1829. Nearby stood a large burial mound, thought to have served as a medieval assembly site, which was levelled at the end of the nineteenth century. The freestanding bell tower northwest of the church was raised around the mid-1600s as an open timber structure and was later clad, probably in 1747, giving it its current appearance; its great bell dates from the 1300s, making it one of the oldest in Uppland.
Inside, wall and ceiling paintings from 1625 include scriptural texts drawn from the 1618 Bible translation. These were later limewashed over and only rediscovered and restored during a major interior renovation in 1904, when some motifs judged unsuitable were altered or covered again, and further conservation followed in the 1950s and 1970s. The font in the chancel dates from the 1200s, with a bowl of grey sandstone and a limestone base. The medieval brick altar contains a now-empty relic cavity, a reminder of the building's early Catholic use.
Among the furnishings is a wrought-iron medieval chandelier discovered hidden in a tar barrel inside the bell tower, along with a sixteenth-century chasuble. The porch's original door, also from the 1500s, is said to bear axe marks from Russian raids on Roslagen in 1719 and is now kept in the bell tower. The vernacular-style pulpit was carved at the end of the 1600s by a joiner from Hälsingland and echoes pulpit designs typical of that region. The current organ was built in 1994, replacing earlier instruments from 1862 and 1937.