Weggis is a municipality in the district of Lucerne in the canton of Lucerne in Switzerland. It forms part of the northern shore of Lake Lucerne. The official language is German.