Coughing up blood can be alarming, but isn't usually a sign of a serious problem if you're young and otherwise healthy. It's more a cause for concern in older people, particularly those who smoke.
The medical term for coughing up blood is haemoptysis.
You may cough up small amounts of bright red blood, or frothy blood-streaked sputum (phlegm). The blood is usually from your lungs and is often the result of prolonged coughing or a chest infection ↗.
If the blood is dark and contains bits of food or what look like coffee grounds, it may be coming from your digestive system. This is a more serious problem and you should go to hospital straight away. Read more about vomiting blood ↗.
What to do if you cough up blood
Call your GP surgery as soon as possible if you cough up blood, even if it's just a few spots or specks.
Your GP will check if you might have a serious medical condition that needs to be investigated and treated.
Call 999 for an ambulance or go to your nearest accident and emergency (A&E) department ↗ immediately if you're coughing up a lot of blood or are struggling to breathe.
Tests that may be needed
You may be asked for a sample of your sputum so it can be checked for infection. Other tests, such as blood tests ↗, may also be needed.
In some cases, further tests may be required to find out where the blood is coming from. For example, you may be referred to a specialist who may decide to arrange a test called a bronchoscopy (where the main air passages of your lungs are examined using a tube with a camera at one end).
This page can give you a better idea of what the cause may be, but don't use it to diagnose yourself. Always leave that to a doctor.
Common causes of coughing up blood
The most common reasons for coughing up blood are:
- a prolonged, severe cough ↗
- a chest infection ↗ – this is more likely if your sputum is discoloured or contains pus, you have a fever, or you have a tight feeling in your chest
- bronchiectasis ↗ – this is more likely if you're also wheezy or short of breath
Sometimes a severe nosebleed ↗ or bleeding from the mouth or throat can cause blood to come out in your saliva when you cough.
Less common causes of coughing up blood
Less commonly, coughing up blood may be the result of:
- pulmonary embolism ↗ (a blood clot in the lungs) – this usually causes sudden shortness of breath and chest pain
- pulmonary oedema ↗ (fluid in the lungs) – your sputum will be pink and frothy, and this usually occurs in people with pre-existing heart problems
- lung cancer ↗ – this is more likely if you're over 40 and smoke
- tuberculosis (TB) ↗ – a severe lung infection associated with fever and sweating; this is becoming more common in the UK, but can be treated with prolonged antibiotics ↗
- cancer of the throat or windpipe ↗
- taking anticoagulants ↗ – medications that help stop your blood clotting, such as warfarin ↗, rivaroxaban, or dabigatran
Sometimes, no cause can be found and it never happens again.