Ulvik is a municipality in Hordaland county, Norway. The municipality stretches from the Hardangerfjord to 1,800 metres above sea level, and borders the municipalities of Granvin, Eidfjord, Ullensvang, Voss, Aurland, and Hol. It takes around two hours to drive from Bergen to Ulvik. The nearest airport is Bergen Flesland Airport. The railway station at Finse on the Bergensbanen at 1,222 metres is the highest station on the Norwegian railway system. Ulvik is visited by numerous foreign cruise ships in the summer.
Lakes in the region include Finsevatnet and Flakavatnet.
The parish of Graven (Granvin) was established as a municipality on 1 January 1838 (see formannskapsdistrikt), which also included two annexes, Ulvik and Eidfjord. In 1858, Ulvik became the main parish, making Granvin and Eidfjord annexes to Ulvik, and the name of municipality was changed accordingly. Granvin and Eidfjord were separated from Ulvik as municipalities of their own on 1 May 1891.
After the dissolution of the union between Norway and Sweden 1905, Ulvik was one of the few municipalities that returned a majority in favour of a republic rather than a monarchy in the national referendum on the issue.
The village of Ulvik was nearly totally destroyed on 25 April 1940, during the German invasion of Norway, when fighting erupted between a German landing party arriving in boats, and a Norwegian force on land. Most of the village was burned down, and three civilians were killed. An unknown number of German soldiers were also killed in the fighting.
The coat of arms is modern, having been granted on 19 December 1986. The figure shown on the arms is a traditional figure in the local folk-art and in local textiles. The pattern can be traced in local arts as far back as the 16th century, and is similar to the selburose. This figure is also used in the bunad of Ulvik.