The church was built around 1300 from whitewashed rubblestone, and its rectangular nave, narrower chancel and sacristy have largely kept their medieval form. A porch was added against the nave's south wall, possibly before 1350, with richly moulded brick doorways. The original timber ceiling was replaced with brick vaulting sometime between about 1430 and 1460, and in the 1470s the vaults of the nave and chancel were decorated with paintings attributed to the so-called Tierp school, depicting winding foliage, birds, saints and angels. These medieval wall paintings remain the church's principal attraction and give the interior its strong period character.
Over the centuries the building was altered: galleries and enclosed pews were installed in the 1600s, the exterior was whitewashed in the 1700s (having previously been left bare), and the wall paintings were plastered over. A thorough renovation in 1911–1912 repainted the fixed fittings white, and in 1953 the covered medieval paintings were uncovered and conserved, restoring much of the church's medieval appearance visible today.
Among the notable furnishings is a triumphal crucifix from the 1300s hanging by the chancel's south wall, a font of Gotland sandstone dated to the 1200s or 1300s, and an altar cabinet from the mid-1400s. The pulpit dates from 1663 but was substantially remodelled in the 1840s–1850s, giving it its present appearance.
The church organ was built in 1856 by Daniel Wallenström of Uppsala. It replaced an earlier instrument that had been moved to Börje in 1804; sources differ slightly on that earlier organ's origin, with one account tracing it to Vaksala kyrka and dating it to 1681. The older organ is said to be preserved today at the Upplandsmuseet.
South of the churchyard stands a boarded bell tower dated to 1760, and to the east lies the old rectory, with buildings from the 1700s and 1800s.