อุปกรณ์หรือเครื่องมือสำคัญในการทอก็คือ เครื่องทอ ซึ่งคนไทยพื้นบ้านในภาคกลาง ภาคเหนือและภาคอีสาน เรียกกันว่า กี่ หรือ หูก ภาคใต้เรียกว่า เก
กี่หรือหูก พัฒนาขึ้นมาจากหลักการเบื้องต้นที่ต้องการให้มีการขัดลายกันระหว่างด้ายเส้นยืนกับด้ายเส้นพุ่ง เป็นจำนวนมากเพียงพอที่จะให้เกิดเป็นผืนผ้าขึ้น
ด้ายเส้นยืน (บางแห่งก็เรียกเส้นเครือ) จะมีจำนวนกี่เส้นหรือมีความยาวเท่าใดก็ตาม จะต้องมีการขึงให้ตึงและยึดอยู่กับที่ในขณะที่ด้ายเส้นพุ่งจะต้องพันร้อยอยู่กับเครื่องพุ่งซึ่งคนไทยเรียกว่า กระสวย สำหรับใช้พุ่งด้ายเข้าไปขัดกับด้ายเส้นยืนทุกเส้น และพุ่งกลับไปกลับมาจนเกิดเป็นเนื้อผ้าตามลวดลายและขนาดที่ต้องการ
เครื่องมือทอผ้าที่ง่ายและมีลักษณะธรรมชาติที่สุดในโลกเห็นจะได้แก่ การผูกด้ายเส้นยืนเข้ากับนิ้วมือข้างหนึ่ง และใช้นิ้วมืออีกข้างหนึ่งพุ่งด้ายเข้าไปถักทอ โดยอาจใช้เข็มหรือกระดูกช่วยวิธีนี้ใช้กันอยู่ในหมู่ชาวอินเดียนแดงในสหรัฐอเมริกาการทอแบบนี้เรียกเป็นภาษาอังกฤษว่า ฟิงเกอร์
วีฟวิง (finger weaving) หรือทอด้วยนิ้ว ผ้าที่ได้จะมีลักษณะแคบและยาว เช่น ผ้าคาดเอว แต่ก็สามารถนำมาเย็บต่อเป็นเสื้อผ้าได้ เป็นต้น
หูกหรือกี่ที่ทำได้ง่ายและมีลักษณะเป็นธรรม-ชาติอีกประเภทหนึ่งคือ กี่ผูกเอว พบในหมู่ชาวบ้านหรือชาวเขาที่อยู่ห่างไกลในหลายๆ ประเทศทั้งในเอเชียและละตินอเมริกา ภาษาอังกฤษเรียกว่า แบ็กสแตรปป์ลูม (back-strapped loom) กี่หรือหูกประเภทนี้จะใช้ไม้ท่อนสั้นๆ ขึงด้ายเส้นยืนไว้สองด้าน ปลายด้านหนึ่งมักจะผูกยึดไว้กับต้นไม้หรือบางครั้งก็ให้ผู้ทอนั่งราบกับพื้น เหยียดขาตรงและใช้เท้าเหยียบปลายไม้ไว้ให้ตึง ปลายอีกด้านหนึ่งจะผูกติดไว้กับเอวของผู้ทอ เวลาทอผู้ทอสามารถจะโน้มตัวไปข้างหน้าหรือข้างหลังแล้วเหยียบไม้ที่ปลายเท้า เพื่อดึงด้ายเส้นยืนให้ตึงหรือหย่อนได้ตามต้องการ ในปัจจุบันยังพบว่ามีชาวบ้าน เช่น ชาวกะเหรี่ยงในจังหวัดราชบุรีและชาวบาหลี ประเทศอินโดนีเซีย ชาวอีบัน ในบอร์เนียว ประเทศฟิลิปปินส์
ในปัจจุบันนี้ ชาวบ้านในประเทศไทยที่ทอผ้าใช้เองหรือทอขายเป็นหัตถกรรมพื้นบ้านต่างนิยมใช้กี่ที่ปรับปรุงให้ทอผ้าได้ง่ายและสะดวกขึ้น กี่ที่ใช้กันอยู่จึงมีโครงไม้ที่แข็งแรง มีที่นั่งห้อยเท้า บางแห่งยังใช้กี่แบบพื้นบ้านโบราณที่มีโครงไม้ขนาดเล็ก เรียกว่า "ฟืมเล็ก" และใช้ขนเม่นหรือนิ้วมือช่วยเก็บลาย ซึ่งเหมาะสำหรับทอผ้าที่ต้องการความละเอียด และทอเป็นผ้าหน้าแคบเช่น ผ้าตีนจก หรือผ้าขิต ที่มีลวดลายวิจิตรผืนเล็กบางแห่งก็นิยมใช้ฟืมใหญ่ และบางแห่งเช่นในจังหวัดสุรินทร์ จะนิยมกี่ผูกด้ายที่มีความยาวมากซึ่งขนาดของกี่นั้นอาจจะแตกต่างกันไปตามความต้องการ แต่โดยทั่วไปแล้วหูกหรือกี่ชาวบ้านมักจะยาวประมาณ ๑๒ ฟุต กว้างประมาณฟุตครึ่งและสูงจากพื้นประมาณ ๔ ฟุตครึ่ง เหมาะที่จะตั้งไว้ใต้ถุนบ้านและสามารถทอให้ผ้าได้หน้ากว้างพอสมควร แต่ก็ยังใช้มือพุ่งกระสวยและใช้ไม้คานสอดในการเก็บลายขิต หรือในการทอผ้ามัดหมี่ต้องขยับเส้นพุ่งให้ตรงลายทุกครั้ง บางแห่งก็อาจจะมีเครื่องทุ่นแรง เช่น มี "เขา" หรือไม้เก็บขิตแขวนไว้ ไม่ต้องมาสอดลายทุกครั้งเป็นการประหยัดเวลา กี่ชนิดนี้เรียกว่า กี่มือ บางแห่งก็ใช้ กี่กระตุก ซึ่งสามารถใช้มือกระตุกกระสวยให้พุ่ง หรือ "บิน" ไปมาได้อย่างรวดเร็วมากกว่า กี่มือเหมาะสำหรับการทอผ้าที่ไม่มีลวดลายมาก เช่น ผ้าขาวม้า ผ้านุ่ง "กี่กระตุก" นี้ ชาวจีนที่อาศัยอยู่แถบสำเพ็งเป็นผู้นำเข้ามาใช้ทอผ้าขายในสมัยรัชกาลที่ ๖ เพื่อทอผ้าให้ได้ปริมาณมากขึ้นสำหรับขายชาวเมือง อย่างไรก็ตาม กีกระตุกก็ยังเป็นเครื่องทอผ้าที่ใช้มือคนอยู่นั่นเอง
ต่อมาในพ.ศ. ๒๔๗๘ กระทรวงกลาโหมได้ตั้งโรงงานทอผ้าสำหรับใช้ในราชการทหารขึ้นเรียกว่า "โรงงานฝ้ายสยาม" เพื่อผลิตเสื้อผ้าและสำลีสำหรับทหาร มีการสั่งเครื่องจักรทอผ้าและฝ้ายจากต่างประเทศเข้ามานับเป็นจุดเริ่มต้นของอุตสาหกรรม การทอผ้าด้วยเครื่องจักร สามารถผลิตผ้าได้จำนวนมาก และไม่ต้องมีลวดลายตามแบบผ้าพื้นบ้าน
อุตสาหกรรมการทอผ้าด้วยเครื่องจักรในประเทศ ได้มีการปรับปรุงขยายตัวออกไปอย่างกว้างขวาง จนกระทั่งในปัจจุบันนี้อุตสาหกรรมสิ่งทอไทยกลายเป็นอุตสาหกรรมขนาดใหญ่หรือการส่งออกในปริมาณมากทุกๆ ปี และปรับเปลี่ยนรูปแบบการทอให้มีลักษณะเป็นผ้าที่ใช้สอยกันตามรสนิยม และความต้องการของตลาดโลก