Old English clæne "clean, pure," from West Germanic *klainoz "clear, pure" (cf. Old Saxon kleni "dainty, delicate," Old Frisian klene "small," Old High German kleini "delicate, fine, small," German klein "small;" English preserves the original Germanic sense), from PIE root *gel- "to gleam" (cf. Greek glene "eyeball," Old Irish gel "bright").
Old English also had an adverbial form, "clearly, fully, entirely." As an adjective, replaced in higher senses by clear, pure, but as a verb (mid-15c.) it has largely usurped what once belonged to cleanse. The adjective clean in the sense of "innocent" is from c.1300; that of "not lewd" is from 1867; that of "free of drug addiction" is 1950s.