Water hardness in 173 cities
How hard the tap water is, city by city: on a map, in a table per country, with the utility's own figure and the date it was measured.
Hardness is not a safety question. Hard water is fine to drink; it just leaves more limescale.
There is no European classification. The EU Drinking Water Directive does not regulate hardness at all, and each country sets its own bands. What compares across borders is the figure rather than the label, which is why both are given here.
The full dataset behind these pages — every figure with its source URL and date — is free to reuse: wasserhaerte-daten on GitHub (CC BY 4.0).
The map
Every city with a page here, coloured by hardness on the same scale as the bars: water blue is soft, and the harder the water, the darker and earthier the dot. Click one for the figure.
How hardness is classified
There is no European classification. The EU Drinking Water Directive does not regulate hardness at all, and each country sets its own bands. What compares across borders is the figure rather than the label, which is why both are given here.
How Germany classifies it
How France classifies it
How United Kingdom classifies it
How Austria classifies it
How Switzerland classifies it
Internationally, from the WHO and the US Geological Survey
Austria
| City | Hardness | Country's own band | International |
|---|---|---|---|
| Bregenz | 11.1 °dH | mittel | very hard |
| Dornbirn | 9.1 °dH | weich | hard |
| Feldkirch | 7.0 to 17.0 °dH | — | — |
| Graz | 16.0 °dH | hart | very hard |
| Innsbruck | 6.2 °dH | weich | moderately hard |
| Kapfenberg | 15.0 °dH | mittel | very hard |
| Klagenfurt | 18.5 °dH | hart | very hard |
| Kufstein | 8.0 °dH | weich | hard |
| Leoben | 12.6 °dH | mittel | very hard |
| Linz | 19.5 °dH | hart | very hard |
| Mödling | 19.0 °dH | hart | very hard |
| Salzburg | 10.0 °dH | mittel | hard |
| Steyr | 16.0 °dH | hart | very hard |
| Vienna | 6.0 to 20.0 °dH | — | — |
| Villach | 9.9 °dH | weich | hard |
| Wels | 11.6 °dH | mittel | very hard |
| Wiener Neustadt | 16.3 °dH | hart | very hard |
France
| City | Hardness | Country's own band | International |
|---|---|---|---|
| Acheres | 37.0 °f | très dure | very hard |
| Aix-en-Provence | 17.8 °f | moyennement dure | hard |
| Ajaccio | 6.0 °f | très douce | moderately hard |
| Amiens | 30.1 °f | très dure | very hard |
| Angers | 16.6 °f | moyennement dure | hard |
| Annecy | 29.6 °f | moyennement dure | very hard |
| Antibes | 40.2 °f | très dure | very hard |
| Antony | 25.4 °f | moyennement dure | very hard |
| Avignon | 29.1 °f | moyennement dure | very hard |
| Besancon | 24.4 °f | moyennement dure | very hard |
| Biarritz | 11.9 °f | douce | moderately hard |
| Bordeaux | 18.8 °f | moyennement dure | very hard |
| Brest | 13.0 °f | douce | hard |
| Caen | 24.1 °f | moyennement dure | very hard |
| Cannes | 31.0 °f | très dure | very hard |
| Castres | 11.7 °f | douce | moderately hard |
| Cergy | 29.4 °f | moyennement dure | very hard |
| Chartres | 20.7 °f | moyennement dure | very hard |
| Chateauroux | 23.1 °f | moyennement dure | very hard |
| Chatou | 19.6 °f | moyennement dure | very hard |
| Cherbourg | 13.2 °f | douce | hard |
| Clermont-Ferrand | 6.6 °f | très douce | moderately hard |
| Dijon | 26.7 °f | moyennement dure | very hard |
| Dreux | 28.3 °f | moyennement dure | very hard |
| Fontainebleau | 24.5 °f | moyennement dure | very hard |
| Grenoble | 20.5 °f | moyennement dure | very hard |
| La Garenne-Colombes | 16.9 °f | moyennement dure | hard |
| La Rochelle | 27.7 °f | moyennement dure | very hard |
| Le Havre | 23.6 °f | moyennement dure | very hard |
| Le Mans | 29.8 °f | moyennement dure | very hard |
| Lille | 34.5 °f | très dure | very hard |
| Limoges | 10.0 °f | douce | moderately hard |
| Lorient | 13.2 °f | douce | hard |
| Lyon | 18.7 °f | moyennement dure | very hard |
| Marseille | 22.3 °f | moyennement dure | very hard |
| Metz | 19.2 °f | moyennement dure | very hard |
| Montpellier | 32.2 °f | très dure | very hard |
| Mulhouse | 10.6 °f | douce | moderately hard |
| Nancy | 15.2 °f | moyennement dure | hard |
| Nantes | 12.7 °f | douce | hard |
| Nevers | 11.6 °f | douce | moderately hard |
| Nice | 15.4 °f | moyennement dure | hard |
| Nimes | 22.6 °f | moyennement dure | very hard |
| Orleans | 15.6 °f | moyennement dure | hard |
| Paris | 24.9 °f | moyennement dure | very hard |
| Pau | 11.5 °f | douce | moderately hard |
| Perpignan | 13.1 °f | douce | hard |
| Poitiers | 25.1 °f | moyennement dure | very hard |
| Reims | 27.1 °f | moyennement dure | very hard |
| Rennes | 15.5 °f | moyennement dure | hard |
| Rouen | 27.8 °f | moyennement dure | very hard |
| Rueil-Malmaison | 18.6 °f | moyennement dure | very hard |
| Saint-Etienne | 33.8 °f | très dure | very hard |
| Strasbourg | 24.8 °f | moyennement dure | very hard |
| Toulon | 35.1 °f | très dure | very hard |
| Toulouse | 9.1 °f | douce | moderately hard |
| Tours | 14.3 °f | douce | hard |
| Troyes | 23.9 °f | moyennement dure | very hard |
| Valence | 30.1 °f | très dure | very hard |
Germany
| City | Hardness | Country's own band | International |
|---|---|---|---|
| Aachen | 3.4 to 10.9 °dH | — | — |
| Augsburg | 13.7 °dH | mittel | very hard |
| Berlin | 14.0 °dH | mittel | very hard |
| Bielefeld | 4.3 to 17.1 °dH | — | — |
| Bochum | 7.5 °dH | weich | hard |
| Bonn | 5.7 °dH | weich | moderately hard |
| Braunschweig | 8.4 °dH | weich | hard |
| Bremen | 6.3 °dH | weich | moderately hard |
| Bremerhaven | 9.0 to 11.4 °dH | — | — |
| Chemnitz | 4.3 °dH | weich | moderately hard |
| Cologne | 15.6 to 18.1 °dH | — | — |
| Cottbus | 14.9 °dH | hart | very hard |
| Darmstadt | 19.0 °dH | hart | very hard |
| Dortmund | 7.7 °dH | weich | hard |
| Dresden | 5.6 to 12.3 °dH | — | — |
| Duisburg | 14.5 °dH | hart | very hard |
| Dusseldorf | 14.0 °dH | mittel | very hard |
| Erfurt | 3.1 to 14.0 °dH | — | — |
| Erlangen | 9.8 to 15.3 °dH | — | — |
| Essen | 6.6 °dH | weich | moderately hard |
| Frankfurt am Main | 4.0 to 20.0 °dH | — | — |
| Freiburg im Breisgau | 2.3 to 12.7 °dH | — | — |
| Gelsenkirchen | 11.3 °dH | mittel | very hard |
| Göttingen | 6.9 °dH | weich | hard |
| Halle (Saale) | 4.2 °dH | weich | moderately hard |
| Hamburg | 5.1 to 18.3 °dH | — | — |
| Hanover | 12.0 °dH | mittel | very hard |
| Heidelberg | 2.7 to 21.1 °dH | — | — |
| Heilbronn | 9.0 to 18.0 °dH | — | — |
| Hildesheim | 1.8 °dH | weich | soft |
| Ingolstadt | 20.8 °dH | hart | very hard |
| Jena | 3.2 to 18.5 °dH | — | — |
| Kaiserslautern | 4.2 to 5.1 °dH | — | — |
| Karlsruhe | 18.0 °dH | hart | very hard |
| Kassel | 8.4 to 15.0 °dH | — | — |
| Kiel | 14.9 °dH | hart | very hard |
| Koblenz | — | mittel / hart | — |
| Krefeld | 13.0 °dH | mittel | very hard |
| Leipzig | 8.6 to 18.5 °dH | — | — |
| Leverkusen | — | weich | — |
| Ludwigshafen am Rhein | 10.5 to 14.8 °dH | — | — |
| Lübeck | 11.1 to 16.3 °dH | — | — |
| Magdeburg | 14.3 °dH | hart | very hard |
| Mainz | 12.6 to 25.1 °dH | — | — |
| Mannheim | 20.1 °dH | hart | very hard |
| Munich | 15.8 °dH | hart | very hard |
| Munster | 11.0 to 16.9 °dH | — | — |
| Mönchengladbach | 8.4 to 14.0 °dH | — | — |
| Mülheim (Ruhr) | 8.0 °dH | weich | hard |
| Nuremberg | 11.6 °dH | mittel | very hard |
| Oberhausen | 5.7 to 14.1 °dH | — | — |
| Offenbach | 10.5 to 12.9 °dH | — | — |
| Oldenburg | 6.6 to 12.0 °dH | — | — |
| Osnabrück | 7.3 to 13.0 °dH | — | — |
| Pforzheim | 6.0 to 9.0 °dH | — | — |
| Potsdam | 10.0 to 21.0 °dH | — | — |
| Recklinghausen | 11.3 °dH | mittel | very hard |
| Regensburg | 16.9 °dH | hart | very hard |
| Reutlingen | 9.1 to 16.1 °dH | — | — |
| Rostock | 14.2 °dH | hart | very hard |
| Saarbrücken | 5.9 to 12.4 °dH | — | — |
| Siegen | 4.5 °dH | weich | moderately hard |
| Solingen | 5.6 °dH | weich | moderately hard |
| Stuttgart | 9.0 to 13.0 °dH | — | — |
| Trier | 4.7 to 9.3 °dH | — | — |
| Ulm | 12.7 to 19.1 °dH | — | — |
| Wiesbaden | 1.7 to 19.2 °dH | — | — |
| Wolfsburg | 7.9 °dH | weich | hard |
| Wuppertal | 8.2 °dH | weich | hard |
| Würzburg | 25.4 to 42.7 °dH | — | — |
Switzerland
| City | Hardness | Country's own band | International |
|---|---|---|---|
| Baden | 33.5 °f | hart | very hard |
| Basel | 17.5 °f | mittelhart | hard |
| Bern | 25.0 °f | ziemlich hart | very hard |
| Biel | 11.7 °f | weich | moderately hard |
| Fribourg | 28.0 °f | ziemlich hart | very hard |
| Geneva | 13.4 °f | weich | hard |
| Lausanne | 14.0 to 28.0 °f | — | — |
| Lucerne | 11.0 to 28.0 °f | — | — |
| Lugano | 13.0 °f | weich | hard |
| Neuchatel | 18.6 °f | mittelhart | very hard |
| Riehen | 18.9 °f | mittelhart | very hard |
| Sion | 23.9 °f | mittelhart | very hard |
| St. Gallen | 16.2 °f | mittelhart | hard |
| Thal | 16.7 °f | mittelhart | hard |
| Winterthur | 27.1 °f | ziemlich hart | very hard |
| Zug | 24.8 °f | mittelhart | very hard |
| Zurich | 15.0 °f | mittelhart | hard |
United Kingdom
| City | Hardness | Country's own band | International |
|---|---|---|---|
| Aberdeen | 26.7 mg/L | soft | soft |
| Belfast | 158 mg/L | moderately hard | hard |
| Bristol | 212 mg/L | hard | very hard |
| Cambridge | 335 mg/L | very hard | very hard |
| Cardiff | 105 mg/L | slightly hard | moderately hard |
| Edinburgh | 31.4 mg/L | soft | soft |
| Glasgow | 15.7 mg/L | soft | soft |
| Kingston upon Hull | — | very hard | — |
| Portsmouth | 289 mg/L | hard | very hard |
| York | — | hard | — |