โรคภูมิแพ้เกิดได้จาก 2 สาเหตุใหญ่ ๆ ได้แก่ กรรมพันธุ์ที่สืบทอดมาจากพ่อแม่ และสิ่งแวดล้อมรอบตัว
1. สาเหตุจากกรรมพันธุ์
โรคภูมิแพ้บางชนิดอาจเกิดขึ้นจากการถ่ายทอดทางพันธุกรรม ซึ่งถ้าหากมีการซักประวัติแล้วพบว่าพ่อและแม่ของผู้ป่วยมีอาการแพ้ก็จะยิ่งทำให้มีโอกาสในการเป็นโรคภูมิแพ้มากกว่าครอบครัวที่มีพ่อหรือแม่เป็นโรคภูมิแพ้เพียงคนเดียว ทั้งนี้โรคภูมิแพ้ที่มักเกิดจากกรรมพันธุ์ได้แก่ โรคหืด โรคแพ้อากาศ และผื่นภูมิแพ้ในเด็ก
2. สาเหตุจากสิ่งแวดล้อม
สิ่งแวดล้อมเป็นสาเหตุส่วนใที่ทำให้เกิดโรคภูมิแพ้ในคนส่วนใหญ่ ซึ่งสิ่งแวดล้อมนี้หมายถึงทุกสิ่งทุกอย่างที่ร่างกายสามารถสัมผัสได้ ทั้งจากการหายใจ การทานอาหาร ซึ่งสารก่อภูมิแพ้ที่พบได้บ่อยที่สุดก็มีทั้งอาหาร เช่น อาหารทะเล ผลิตภัณฑ์นม ถั่วชนิดต่าง ๆ หรือโปรตีนบางชนิด นอกจากนี้สสารที่อยู่ในอากาศซึ่งเรามองไม่เห็นก็สามารถทำให้เกิดอาการแพ้ได้ เช่น ไรฝุ่น ฝุ่นละออง เชื้อราในอากาศ เกสรดอกไม้ และขนสัตว์ เป็นต้น