Old English grimm "fierce, cruel, savage, dire, painful," from Proto-Germanic *grimmaz (cf. Old Saxon, Old Frisian, Old High German, German grimm, Old Norse grimmr, Swedish grym "fierce, furious"), from PIE *ghrem- "angry," perhaps imitative of the sound of rumbling thunder (cf. Greek khremizein "to neigh," Old Church Slavonic vuzgrimeti "to thunder," Russian gremet' "thunder").
A weaker word now than once it was; sense of "dreary, gloomy" first recorded late 12c. It also had a verb form in Old English, grimman (class III strong verb; past tense gramm, p.p. grummen). Old English also had a noun, grima "goblin, specter," perhaps also a proper name or attribute-name of a god, hence its appearance as an element in place names.
Grim reaper as a figurative way to say "death" is attested by 1847 (the association of grim and death goes back at least to 17c.). A Middle English expression for "have recourse to harsh measures" was to wend the grim tooth (early 13c.).
"spectre, bogey, haunting spirit," 1620s, from grim (adj.).