1891年，约翰·贝尔·海彻尔（John Bell Hatcher）在怀俄明州东南部发现了两个牛角龙的部分头颅骨，并在同年由奥塞内尔·查利斯·马什（Othniel Charles Marsh）命名，晚于三角龙两年。牛角龙的化石已在怀俄明州、蒙大拿州、南达科他州、北达科他州、犹他州、萨克其万省等地发现。一些可能属于牛角龙的破碎化石在德克萨斯州的大湾区、新墨西哥的圣胡安盆地发现。化石证据显示牛角龙并不普遍，牠们的近亲三角龙的化石较常发现。牛角龙的名称常被翻译为「公牛蜥蜴」，但可能其实意为「有孔的蜥蜴」，意指