Which foods are high in vitamin B12?
Shellfish, oily fish and liver. Meat, fish or dairy should give you enough. Vegans need fortified foods or a supplement. But the UK’s commonest cause of low B12 isn’t diet, and food won’t fix it.
On this page

Which foods have the most vitamin B12?
Liver, sardines, mussels and mackerel. Each has several days’ worth in 100g. Adults aged 19 to 64 need about 1.5 micrograms (mcg) a day.
If you eat meat, fish or dairy, the NHS says you should be able to get enough from food.
| Food (per 100g) | B12 (mcg) | Times a day’s need |
|---|---|---|
| Lamb’s liver, fried | 83 | About 55 |
| Sardines, tinned in oil, drained | 15 | About 10 |
| Mussels, cooked | 10.6 | About 7 |
| Mackerel, grilled | 9.1 | About 6 |
| Wild salmon, grilled | 7.6 | About 5 |
| Farmed salmon, grilled | 3.4 | About 2 |
| Tuna, tinned in brine, drained | 3.4 | About 2 |
| Rump steak, grilled, lean | 3.0 | 2 |
Sources: GOV.UK CoFID; NHS
Liver is the richest, but it’s also packed with vitamin A. The NHS says no more than once a week, and none if you’re pregnant.
So for most people, tinned sardines or mackerel are the easy win.
Do eggs, milk and chicken have B12?
Eggs and dairy, yes. Chicken breast, hardly any.
| Food (per 100g) | B12 (mcg) | Times a day’s need |
|---|---|---|
| Cheddar cheese | 2.4 | About 1.6 |
| Eggs, boiled | 2.0 | About 1.3 |
| Cod, grilled | 2.0 | About 1.3 |
| Semi-skimmed milk | 0.9 | About 0.6 |
| Pork loin chop, grilled, lean | 0.5 | About 0.3 |
| Chicken breast, grilled | Trace | Close to 0 |
Source: GOV.UK CoFID
So count chicken as protein, not as your B12.
Vegetarian? The BDA, the UK body for dietitians, says eggs and dairy make low B12 unlikely, unless you cut out all animal foods.
Changed your diet lately? Your body’s B12 stores can last around 2 to 5 years. So problems can take a long time to show.
If you’ve cut out all animal foods, start fortified foods or a supplement now rather than waiting for signs.
Vegan and vegetarian sources of B12
B12 is not found naturally in fruit, vegetables or grains. The BDA says the only reliable vegan sources are fortified foods and supplements.
| Food (per 100g) | B12 (mcg) | What to know |
|---|---|---|
| Bran flakes, fortified | 2.3 | Unfortified cornflakes have only a trace. |
| Soya drink, unsweetened, fortified | 0.4 | Check the label. Not all are fortified. |
| Yeast extract | 14.5 | You spread a few grams, not 100g. |
| Tofu, mushrooms | 0 | No B12. |
Sources: GOV.UK CoFID; BDA; NHS
The NHS also lists nutritional yeast flakes that have B12 added. Seaweed isn’t a reliable source, says the BDA, so don’t count on it.
How much? The Vegan Society advises fortified foods at least twice a day, aiming for 3 mcg. Or a supplement of at least 10 mcg daily, or at least 2000 mcg weekly.
Taking 2mg (2,000 mcg) or less a day in supplements is unlikely to cause any harm. For blood tests worth doing, see a vegan blood test.
Why can’t food fix every low B12?
The UK’s commonest cause of low B12 is pernicious anaemia. It’s the most common cause of low B12 in the UK, and it isn’t about what you eat.
How B12 gets from your plate into your blood
- 1
In your stomach
B12 joins a protein called intrinsic factor.
- 2
In your gut
The pair is absorbed further down the gut.
- 3
Pernicious anaemia
The immune system attacks the cells that make intrinsic factor. B12 can’t be absorbed.
- 4
Treatment
Usually an injection every 2 to 3 months, for life.
Sources: NHS: causes; NHS: treatment
Think of a locked door. More B12 on your plate is more people knocking.
Intrinsic factor is the key. Without it, B12 can’t get in, however much you eat.
So eating more B12 won’t fix pernicious anaemia. Treatment gets B12 in another way, usually by injection.
It’s more common in women around 60, people with a family history and people with another autoimmune condition, where the immune system attacks the body.
Stomach surgery, Crohn’s disease (a long-term condition where the gut lining becomes inflamed) and some medicines can also cut absorption. These include metformin, a diabetes medicine, and stomach-acid tablets called PPIs. Your GP will monitor you if needed.
Never stop or change a prescribed medicine without your prescriber. More on treatment in B12 injections.
How to get enough B12 from food
Six ways to get enough B12
- Put oily fish, such as tinned sardines, mackerel or salmon, on your weekly shop.
- Build meals around eggs, milk and cheese if you eat them.
- Count chicken as protein, not as your B12.
- Vegan? Have fortified foods at least twice a day, aiming for 3 mcg, or take a supplement of at least 10 mcg daily.
- Check the label. Not all cereals, plant drinks and yeast extracts are fortified.
- Eat liver no more than once a week, and none if you’re pregnant.
Sources: NHS; BDA; NHS: vitamin A
Low B12 from diet alone? The NHS says you may be advised to take tablets every day between meals, or have an injection twice a year. Vegans may need them for life.
When to speak to a GP
Low B12 is more common with age. It and low folate affect around 1 in 10 people aged 75 or over. Book an appointment if:
- You have signs of low B12, such as extreme tiredness or lack of energy, pins and needles, a sore red tongue, mouth ulcers, muscle weakness, sight problems, low mood, anxiety or confusion, or problems with memory, understanding or judgement.
- You’re vegan, haven’t had fortified foods or a supplement for a while, and notice any of these signs.
- You take metformin or a PPI and notice any of these signs.
- You’ve had stomach surgery or have Crohn’s disease, and notice any of these signs.
Get checked early. Some problems from low B12 can be permanent if it isn’t treated.
See also B12 deficiency symptoms and the B12 blood test.