Aach (variants Ach, Ache; Aa) is a widespread Upper German hydronym, from an Old High German aha (Proto-Germanic *ahwō) "running water" (ultimately from PIE *hakʷā- "(moving) water"). The word has also been reduced to a frequent suffix -ach in Alemannic and Austro-Bavarian toponymy. The word is cognate with Old English ǣ (reflected in English placenames as -ea, also Yeo, Eau), Old Frisian ē, Old Saxon aha, Low Franconian Aa, Old Norse á, Gothic aƕa, all meaning "river; running water".
The Old High German contraction from -aha to -aa, -â in compound hydronyms present from an early time (early 9th century). The simplex noun aha remained uncontracted, however, and Old High German -aha (Modern German -ach) could be restituted in compounds at any time.
Related is the German Aue (variant Au) with a meaning "river island, wetland, floodplain, riparian woodland", i.e. a cultivated landscape in a riparian zone. It is derived from the same root, but with a -yo- suffix (Proto-Germanic *awjō). This word was also reduced to a suffix, as -au (as in Reichenau). It is frequent as a river name, as in Große Aue, Aue (Elbe), Aue (Weser), etc., as well as the name of a settlement, as in Aue (Saxony), Au, St. Gallen, Au, Vorarlberg, Au am Rhein, Au am Leithaberge, etc.
The river-name Aach in Upper Germany is reserved for broad, but non-navigable, running streams with noticeable gradient sufficient to power water mills; it contrasts with Fluss used for navigable rivers on one hand, and with Bach for minor brooks or rivulets. An instructive example is Salzach, now classed as a Fluss ("river") but formerly as Ache as it was only navigable by raft, not by regular riverboats.
Hydronymy in -ach generally indicates a Germanic settlement in the early medieval or migration period, while names in -bach indicate names of the high medieval period. In French, the Old Frankish form evolved into aix, as in Aix-en-Provence, Aix-les-Bains; the Italian reflex is -acco. Hydronyms in aar, ahr, acher reflect a cognate Celtic word.