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 summarises the most likely causes of blood in the vomit, which is known medically as haematemesis. 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 tummy. Bleeding occurs when the ulcer or inflammation damages an underlying artery.
- Oesophageal varices – these are enlarged veins in the walls of the lower part of the oesophagus (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 gastro-oesophageal reflux disease, where stomach acid has irritated your oesophagus.
- A tear in the lining of your oesophagus caused by prolonged retching.
- Swallowed blood (for example, from a severe nosebleed).
You can click on the above links for more information on these conditions.
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, leukaemia, haemophilia or anaemia
- Cancer of the oesophagus 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).