Beberapa keadaan dapat menyebabkan perdarahan ulkus, yang paling umum termasuk kelebihan asam lambung dan penggunaan obat-obatan tertentu. Obat antiinflamasi nonsteroid (NSAID) dapat menyebabkan pendarahan lambung bila digunakan untuk jangka waktu yang lama. Infeksi bakteri pada lambung juga dapat menyebabkan tukak berdarah. Beberapa ahli medis percaya bahwa merokok dapat membuat seseorang lebih rentan untuk mengembangkan ulkus berdarah.
Ulkus berdarah dapat terjadi pada individu tertentu yang mengonsumsi alkohol. Peminum berlebihan atau pecandu alkohol sering menderita borok berdarah. Dalam banyak kasus, individu mungkin salah mengira gejala ulkus pendarahan untuk sesuatu yang berbeda karena pendarahan ulkus sering menghasilkan gejala seperti kelelahan dan pingsan karena kehilangan darah. Gejala mungkin juga termasuk mulas, yang beberapa individu cenderung untuk mengobati menggunakan antasida, yang dapat memperburuk perdarahan ulkus.
Dalam beberapa kasus, infeksi bakteri, biasanya disebabkan oleh bakteri Helicobacter pylori, dapat menyebabkan ulkus berdarah. Ketika bakteri menyerang lapisan perut dan saluran usus, rasa sakit atau kram yang parah mungkin terjadi. Seringkali, bakteri ini mengikis lapisan lambung dan menyebabkan tukak lambung berdarah. Perawatan biasanya akan melibatkan antibiotik, dan dalam kebanyakan kasus ulkus akan sembuh dan pendarahan akan berhenti.
Meski tidak seumum penyebab lainnya, kanker lambung bisa menyebabkan tukak berdarah. Beberapa ahli percaya bahwa terinfeksi bakteri Helicobacter pylori membuat pasien lebih rentan terkena kanker lambung. Jika seorang dokter mencurigai adanya kanker, kemungkinan besar dia akan menjalankan beberapa tes diagnostik. Tes mungkin termasuk computerized tomography (CT) scan atau endoskopi bagian atas, yang dilakukan dengan menggunakan kamera kecil untuk melihat perut.
Pasien yang pulih dari trauma parah, seperti luka bakar atau cedera internal, dapat mengembangkan apa yang dikenal sebagai ulkus stres. Ketika ulkus stres tidak diobati untuk waktu yang lama, ulkus dapat menyebabkan peningkatan kerusakan pada lapisan lambung. Jika tidak diobati, ini dapat menyebabkan pendarahan lambung.
Divertikulitis, yang menyebabkan sakit perut dan gastrointestinal yang parah, juga dapat menyebabkan pendarahan usus. Meskipun jarang, kondisi ini dapat menyebabkan borok berdarah pada beberapa individu. Divertikulitis melibatkan kantong atau kantong yang meradang di saluran usus, yang juga dapat menyebabkan infeksi. Jika lapisan lambung terinfeksi, pendarahan bisa terjadi.