อุปสรรค หรือ หน่วยคำเติมหน้า (อังกฤษ: Prefix) คือหน่วยคำเติมชนิดหนึ่งที่ใช้สำหรับเติมหน้ารากศัพท์ เพื่อเพิ่มความหมาย เปลี่ยนความหมาย หรือเปลี่ยนหน้าที่ของคำ (เช่นเปลี่ยนคำกริยาเป็นคำนาม) มีใช้ในภาษาต่าง ๆ ในหลายตระกูล เช่น ตระกูลภาษาอินโด-ยูโรเปียน (ภาษาบาลี สันสกฤต กรีก ละติน แม้กระทั่งภาษาอังกฤษ) ตระกูลภาษาออสโตรเอเชียติก (ภาษามอญ เขมร) ตระกูลภาษาออสโตรนีเซียน (ภาษามลายู) เป็นต้น
อุปสรรคจะไม่ปรากฏอยู่เดี่ยว ๆ ต้องเติมหน้าคำอื่น ในภาษาหนึ่ง ๆ มักจะมีอุปสรรคจำนวนจำกัด เช่น ในภาษาบาลีมีอุปสรรคเพียง 20 คำ อาทิ วิ, อุ, อา, นิ, ป, สํ, สุ, อต, อธิ, อนุ, อภิ, อุป ฯลฯ
ในภาษาไทยไม่มีอุปสรรคแท้ แต่มักนำศัพท์ที่เติมอุปสรรคแล้วมาใช้ อย่างไรก็ตาม มีความนิยมสร้างคำโดยใช้อุปสรรคเติมหน้าศัพท์อื่นบ้างเช่นกัน ขณะที่ในบางภาษามีการยืมอุปสรรคของภาษาอื่นมาใช้เติมในคำศัพท์ของภาษาตัวเองอยู่บ้าง