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