Old English ful "rotten, unclean, vile, corrupt, offensive to the senses," from Proto-Germanic *fulaz (cf. Old Saxon and Old Frisian ful, Middle Dutch voul, Dutch vuil, Old High German fül, German faul, Gothic füls), from root *fu-, corresponding to PIE *pu-, perhaps from the sound made in reaction to smelling something bad (cf. Sanskrit puyati "rots, stinks," putih "foul, rotten;" Greek puon "discharge from a sore;" Latin pus "putrid matter," putere "to stink," putridus "rotten;" Lithuanian puviu "to rot").
Old English ful occasionally meant "ugly" (as contrasted with fæger (adj.), modern fair (adj.)), a sense frequently found in Middle English, and the cognate in Swedish is the usual word for "ugly." Of weather, first recorded late 14c. In the sporting sense of "irregular, unfair" it is first attested 1797, though foul play is recorded from mid-15c. Baseball sense of "out of play" attested by 1860. Foulmart was a Middle English word for "polecat" (from Old English mearð "marten").