Is there a good online resource — free or not free — to look up the etymology of German words?
Something like Duden's "Herkunftswörterbuch"?
The largest etymological resource for the German language is the DWB, Deutsches Wörterbuch von Jacob und Wilhelm Grimm, or just Grimm for short. It is, however, not suited for learners of the language, and is sometimes even hard to understand for natives. If you're just looking for a quick explanation of the origin of a word, it's also not the best one.
It's an interesting read though if you're interested in the evolution of the language since the 16th century.
The German Wiktionary often lists the etymology of words under the „Herkunft“ header. Note that that is usually quite concise.
The one that I know of is DWDS:
It has some data from the "Etymologisches Wörterbuch des Deutschen (nach Pfeifer)", it's usefulness will depend on the actual term you're looking for.
Kluge. Etymologisches Wörterbuch der deutschen Sprache. Bearb. v. Elmar Seebold. Berlin, New York: de Gruyter (25) 2011, ISBN 978-3-11-022364-4
A standard reference for German etymology. It is available online from some University Libraries if you have access there, but you can buy it as E-Book or Android App:
Android-App by Google: https://play.google.com/store/apps/details?id=de.doctronic.xaverplayer4android.kluge
Duden offers some limited etymology information when you search for a word. For example:
Herkunft: spätmittelhochdeutsch (mitteldeutsch) merechyn, Verkleinerungsform von mittelhochdeutsch mære, Mär
A 2011 edition of Etymologisches Wörterbuch der deutschen Sprache by Friedrich Kluge has been mentioned in an answer by Martin Schwela dated Feb 13 '15 at 0:57. I don't have enough points to chime in there so I'll do it here instead.
A completely free, out-of-copyright edition is available at the Internet Archive link below. It's in German and English. While the headwords and entries and all in German (in old form Gothic type) and the 'relatives' of the entry word that appear in the explanations are in their original languages, the rest of each explanation is in English.
Details and links: https://archive.org/details/etymologicaldict00kluguoft
TL;DR The best online resource for extensive etymology information is DWDS (Digitales Wörterbuch der Deutschen Sprache). I justify this and explain interesting informations in this context in the text below.
I recently completed my search for good etymology resources of german words myself and will now share my results with you:
Best affordable resources
Creating an etymology resource is no trivial thing, so there aren't many extensive such resources, just four:
I found these resources after searching some google search sites for the keywords "etymologisches wörterbuch" and similar names and also searched amazon (I also found this pdf which also lists Paul Hermann's "Deutsches Wörterbuch" - but this seems way too much expensive). German Wiki for Etymologisches Wörterbuch also lists a dictionary by Ursula Hermann (which seems not to be maintained because it's newest version is from 1982), similiarly there is a dictionary by Rolf Hiersche which were only some papers (not dictionary and not maintained from 1990), another dictionary by Lutz Mackensen which isn't maintained as well (from 1966). Something that isn't maintained is probably not worth maintaining because there are better things, so I ignore those (they are probably difficult to get anyway).
Best free online resources
The resources you get online are either digitaled versions of already existant resources or are collaborated works.
My judgement: Use DWDS. There you will get not only a direct etymology information but also many crossreferences to other words (which I think is very interesting for someone who is interested in etymology). There you can also get to the correct article of DWB by Grimm with one click. Duden Online and Wiktionary are only interesting if you want only short etymolgy information directly for the words you look up (so there are in comparison less crossreferences). It's also interesting if you don't find something in dwds.
Just want to add the utility I see in studying etymology: Knowledge is the key in our world and it developed during a long time. Units of knowledge are given words, to communicate those knowledge units. So, when we understand the etymology of words, we understand how the humans devloped an understanding from the world, and also have many content connections that we normaly don't see. So in short: One can understand the world a bit better :).
You might give wiktionary a try. It's a community driven dictionary, which also discloses the etymology of the words.
I find this resource extremely useful:
EDIT: Since some people couldn't figure out how to use it, I'll add an example. Say you want to know etymology of some word, like, "Dach". Go to the very end of the page, where you see "German" field and enter it there. It works pretty much like google, offering you the search results over the databases it has. For the "Dach" you get:
Proto-Germanic: *ɵakjan- vb., *ɵaka-n, *ɵakjō(n), *ɵakinō; *ɵakō; *stakōn
Meaning: cover, thatch
IE etymology: IE etymology
Old Norse: ɵekja wk.
decken, kleiden; mit einem Dach versehen'; ɵak n.Dach, Decke, Dachmaterial, zusächtliche Büsse'; ɵekja f.
Dach, Decke'; staka f.unzubereitetes Fell'
Norwegian: tekkja sbs.; tekja vb.; tak; dial. toka
Old Swedish: ɵäkkia sbs.
Swedish: täcka vb.; tak
Danish: dial. täkkeStrohdach'; täkke vb.; tag
Old English: ɵecc(e)an
bedecken', ɵäkDach', ɵecen f.
Old Frisian: thecca vb.; thekke
Old Saxon: thecinaDecke, Dach'ж theccan
Middle Dutch: dac
dak, dekriet'; dēken f.deken'; decken
Dutch: dak n.; deken f.; dekken
Middle Low German: dak
dak, dekriet'; decken; decke
Low German: dēkendeken'
Old High German: thecken (8.Jh.)
decken'; thahDach, Haus, Bedeckung' (9.Jh.), decchī f. `Decke, Dach'
Middle High German: dɛcken (prt. dacte/dachte) wk. 'decken, bedecken; schützen, schirmen'; dach st. n. 'Dach, Bedeckung, das Oberste, Stützende'
German: Dach n., decken
It looks extremely illuminating to me.