Vomiting blood is a medical emergency – it means there is bleeding somewhere in your gullet, stomach or the first part of your bowel. You should see your doctor immediately.
The amount and colour of blood can vary:
- you might have vomited large amounts of bright red blood
- there might just be streaks of blood in your vomit, mixed up with food
- you may find what look like coffee grounds in your vomit – this means the blood has been in your stomach for a few hours
It's important not to get rid of the vomit. Your doctor will have a much better idea of what's wrong if they can view a sample of it.
Unless you are perfectly well and the cause is obvious to your doctor (for example, swallowing blood from a nosebleed), you should be admitted straight to hospital for tests. These include blood tests and an endoscopy (where a thin, flexible tube is passed into your body via your throat – to examine the inside of your digestive tract).
It is important to be certain that you have vomited up the blood (it has come from your stomach or gullet) and not coughed it up from your airways or lungs, which would indicate a completely different problem. Read about coughing up blood.
The rest of this page summarizes the most likely causes of blood in the vomit, which is known medically as hematemesis. It is a rough guide that should give you a better idea of the problem, but do not use it to diagnose yourself – always leave that to your doctor.
Common causes of vomiting blood
The most common causes of blood in the vomit are:
- A peptic ulcer or severe gastritis (inflammation of the lining of the stomach) – an ulcer is the most likely cause if you also have a burning or gnawing pain in your stomach. Bleeding occurs when the ulcer or inflammation damages an underlying artery.
- Esophageal varices – these are enlarged veins in the walls of the lower part of the esophagus (gullet) that bleed, but should not cause any pain. They are often caused by alcoholic liver disease. If your doctor thinks this is the cause, you'll need an ambulance to take you straight to hospital.
- Severe gastroesophageal reflux disease, where stomach acid has irritated your esophagus.
- A tear in the lining of your esophagus caused by prolonged retching.
- Swallowed blood (for example, from a severe nosebleed).
The above conditions may also cause you to have blood in your stools (black, tarry poo).
Less common causes
Less commonly, vomit in the blood may be a result of:
- Swallowing poisons such as corrosive acid or arsenic – read more about poisoning.
- A blood disease such as thrombocytopenia, leukemia, hemophilia or anemia
- Cancer of the esophagus or stomach cancer. Your doctor may suspect cancer if you are over 55 and have also lost a lot of weight (it is otherwise rare).