According to the American Heritage Dictionary, the root of the English word cotton is from a similar sounding Semitic one:
cotton, from Arabic qun, quun, cotton, perhaps akin to Akkadian qatnu, to be(come) thin, fine (of textiles)
Yechezkel Kutcher in his book "Milim V'Toldotehem" explains that the earlier Hebrew name for cotton was tzemer gefen צמר גפן, because cotton leaves looked similar to grape leaves. In the Talmud (Shabbat 105a), there is a distinction between wide and fine strings, and the fine ones are called קטיני katinei in Aramaic. Prof. Kutcher claims that the term katinei went from the specific meaning of fine strings to the meaning of strings of cotton in general. He also says that the word migrated, as did many others from Aramaic to Arabic.
So if cotton is related to katan קטן - small, why is the Hebrew word for cotton, kutna, spelled כותנה?
Klein says that the spelling was influenced by the Aramaic kitan כיתן - flax, linen and Hebrew kutonet כתנת - coat (and "coat" doesn't seem to be connected, although we'll get to "jacket" in a future post.)
Jastrow claims that kitan derives from the root כתת, meaning to crush or pound, since this is how the flax was prepared (see Yoma 71b).
Kutonet itself originates from the same Semitic source according to Klein, and therefore originally referred to a linen garment. Kutonet was borrowed by Greek for their word chiton and by Latin for tunic (with a switch of letters.)
Klein also points out that the German word kittel (meaning frock, but adopted by Yiddish for the white cloak worn on certain religious occasions) also has its roots in the Arabic qutun.