Hamelin is a town on the river Weser in Lower Saxony, Germany. It is the capital of the district of Hamelin-Pyrmont.