Which foods are high in vitamin D?
The foods with the most vitamin D are fish liver oil, oily fish such as salmon, trout, mackerel and eel, mushrooms that have been exposed to UV light, and egg yolk. In studies of foods bought in Thailand, freshwater fish such as common silver barb, red tilapia and Nile tilapia contained 19.8 to 48.5 µg per 100 g, and lung oyster mushroom 15.88 µg. Most other everyday foods, including vegetables, fruit, rice, chicken and unfortified milk, contain little or none. The Thai Reference Daily Intake (Thai RDI) for vitamin D is 15 µg a day.
In short:
- Highest: fish liver oil, oily fish (salmon, trout, mackerel, eel), UV-exposed mushrooms
- In Thailand: freshwater fish such as ปลาตะเพียน, ปลาทับทิม and ปลานิล, and เห็ดนางฟ้า
- Smaller amounts: egg yolk, sardines, tuna, beef liver, fortified milk
- Almost none: vegetables, fruit, egg white, unfortified milk
- Daily amount: Thai RDI 15 µg (600 IU)
This article lists the amounts in foods. For the difference between the two forms of vitamin D, see Vitamin D2 and D3: how do they differ?, and for how the skin makes vitamin D from sunlight, see How does the body get vitamin D in a sunny country?
What does vitamin D do in the body?
Vitamin D has these roles:
- contributes to normal absorption of calcium and phosphorus and to normal blood calcium levels
- contributes to the maintenance of normal bones and teeth
- contributes to the maintenance of normal muscle function
These roles describe normal physiology. Taking in more than the body needs does not add to them. For calcium in food, see What is calcium, and how much do you need?
Why do so few foods contain vitamin D?
The NIH Office of Dietary Supplements (ODS) says vitamin D is found naturally in only a few foods, such as the flesh of fatty fish, fish liver oils, beef liver, egg yolks and cheese. It adds that an animal's diet affects the amount of vitamin D in its tissues.
Animal foods carry vitamin D3, mushrooms carry D2
Vitamin D in food comes in two main forms. Animal foods contain mainly vitamin D3, and mushrooms contain vitamin D2: a 2023 Thai study found vitamin D2 and its precursor ergosterol (provitamin D2) to be the main forms in mushrooms, and the ODS says some mushrooms on the market are treated with UV light to increase their vitamin D2. The ODS says beef liver, egg yolks and cheese have small amounts of vitamin D, mainly as vitamin D3 and its metabolite 25-hydroxyvitamin D3.
Fish first, then offal, eggs and meat
A 2013 review by Schmid and Walther of Agroscope, the Swiss federal centre for agricultural research, gathered published data on natural vitamin D3 in animal foods. The highest values were in fish, especially fish liver; offal also had considerable amounts, while muscle meat was generally much lower. Egg yolk fell between meat and offal, and milk and dairy products that are not fortified were normally low.
What counts as "rich" in vitamin D
A 2022 review by Benedik of the University of Ljubljana treats more than 4 µg per 100 g as a rich source and notes that not many foods reach it. It gives many, but not all, fish 5 to 25 µg per 100 g, fish liver oils 250 µg, and cheese, beef liver and eggs 1.3 to 2.9 µg.
Which foods have the most vitamin D per 100 g?
The table below uses the US Department of Agriculture's FoodData Central database (SR Legacy), per 100 g of the food as described. The right-hand column compares each figure with the Thai RDI of 15 µg. The foods are American samples, so Thai varieties may differ.
Vitamin D per 100 g (FoodData Central)
| Food (FoodData Central description) | Vitamin D per 100 g (µg) | Share of 15 µg |
|---|---|---|
| Cod liver oil | 250 | — (not eaten in 100 g amounts) |
| Portabella mushrooms, exposed to UV light, raw | 28.4 | 189% |
| Maitake mushrooms, raw | 28.1 | 187% |
| Eel, mixed species, raw | 23.3 | 155% |
| Sockeye salmon, cooked, dry heat | 16.7 | 111% |
| Atlantic mackerel, raw | 16.1 | 107% |
| Rainbow trout, farmed, raw | 15.9 | 106% |
| Swordfish, raw | 13.9 | 93% |
| Atlantic salmon, farmed, raw | 11.0 | 73% |
| Spanish mackerel, raw | 7.3 | 49% |
| Bluefin tuna, raw | 5.7 | 38% |
| Egg yolk, raw | 5.4 | 36% |
| Sardines, Atlantic, canned in oil | 4.8 | 32% |
| Atlantic herring, raw | 4.2 | 28% |
| Tilapia, raw | 3.1 | 21% |
| Whole egg, raw | 2.0 | 13% |
| Whole milk, with added vitamin D | 1.3 | 9% |
| Beef liver, raw | 1.2 | 8% |
| Light tuna, canned in water | 1.2 | 8% |
| Atlantic cod, raw | 0.9 | 6% |
| White mushrooms, raw | 0.2 | 1% |
| Whole milk, without added vitamin D | 0.1 | 1% |
| Egg white, raw | 0 | 0% |
| Chicken liver, raw | 0 | 0% |
Two things stand out. Fish vary widely: farmed channel catfish has 0.2 µg per 100 g in the same database, while eel has 23.3 µg. And mushrooms depend almost entirely on UV light: raw portabella has 0.3 µg per 100 g, but 28.4 µg once exposed to UV.
Why the same fish can give different numbers
FoodData Central lists 3.1 µg per 100 g for raw tilapia, while the Thai study below found 19.8 µg in Nile tilapia and 31.0 µg in red tilapia bought in Thai markets. The ODS says an animal's diet affects the amount of vitamin D in its tissues. The US and Thai figures may therefore differ.
How much vitamin D is in a usual serving?
People rarely eat exactly 100 g, so the next table uses the serving weights given in FoodData Central. The values in this table are calculated by multiplying the FoodData Central value per 100 g by the serving weight.
Vitamin D per serving
| Food | Serving (FoodData Central) | Vitamin D (µg) | Share of 15 µg |
|---|---|---|---|
| Portabella mushrooms, UV-exposed, raw | 1 cup diced (86 g) | 24.4 | 163% |
| Sockeye salmon, cooked | 3 oz (85 g) | 14.2 | 95% |
| Cod liver oil | 1 teaspoon (4.5 g) | 11.3 | 75% |
| Atlantic salmon, farmed, cooked | 3 oz (85 g) | 11.1 | 74% |
| Sardines, canned in oil | 1 can (92 g) | 4.4 | 29% |
| Whole milk, with added vitamin D | 1 cup (244 g) | 3.2 | 21% |
| Whole egg, hard-boiled | 1 large (50 g) | 1.1 | 7% |
| Light tuna, canned in water | 3 oz (85 g) | 1.0 | 7% |
| Egg yolk, raw | 1 large yolk (17 g) | 0.9 | 6% |
| Whole milk, without added vitamin D | 1 cup (244 g) | 0.2 | 2% |
| White mushrooms, raw | 1 cup (70 g) | 0.1 | 1% |
The sockeye salmon figure matches the 14.2 µg per 3 ounces in the ODS food table, which is based on the same database.
Egg: all of it is in the yolk
FoodData Central lists 5.4 µg per 100 g in raw egg yolk and 0 µg in egg white. Eating whole eggs rather than whites only is what brings the vitamin D.
Milk depends on the product
The ODS says almost all milk in the US is voluntarily fortified with about 3 µg per cup, mostly as vitamin D3, and that plant milks such as soy, almond or oat drinks are often fortified with similar amounts. The NHS says cows' milk in the UK is generally not a good source, because it is not fortified. In Thailand, too, whether milk contains added vitamin D depends on the product.
Which Thai foods are high in vitamin D?
The Institute of Nutrition at Mahidol University has measured vitamin D in fish and mushrooms bought in Thailand. In a 2022 study of nine kinds of fish, only vitamin D3 was found: raw freshwater fish had 2.42 to 48.5 µg per 100 g, led by common silver barb (ปลาตะเพียน, 48.5 µg), red tilapia (ปลาทับทิม, 31.0 µg) and Nile tilapia (ปลานิล, 19.8 µg), while the marine fish had 2.94 to 4.69 µg. In a 2023 study of 12 kinds of mushroom, raw lung oyster mushroom (เห็ดนางฟ้า) had 15.88 µg and termite mushroom (เห็ดโคน) 7.15 µg per 100 g, mainly as vitamin D2, and the other mushrooms 0.06 to 2.31 µg.
For each fish species and how cooking changes it, see How does the body get vitamin D in a sunny country?, and for each mushroom and the effect of UV light, see Vitamin D2 and D3: how do they differ?
Limits of these data
The fish and the cultivated mushrooms were bought from three markets each, and the wild mushrooms were collected in one conservation area. The values varied between samples, so the amount in any single fish or mushroom can differ.
How much vitamin D do Thai people get from food?
There are few Thai figures on vitamin D from food. One recent study gives a rough idea.
A study in Hat Yai
A 2023 study from Prince of Songkla University enrolled 120 healthy women aged 18 to 42 in Hat Yai between December 2020 and November 2021. A 24-hour food record, checked by a dietitian, showed an average vitamin D intake of 0.92 µg a day. The foods named as their main sources included pork and poultry, eggs, fish, and milk and dairy products. The women spent on average 105 minutes a week in the sun, most often before 10 a.m.
What this does and does not tell us
The study covered one city and one day of eating per person, and it was not designed to describe the whole country.
Food databases may miss part of it
The ODS notes that FoodData Central does not include 25-hydroxyvitamin D, a form also found in meat and eggs, and reports one study in which counting it made the total vitamin D in beef, pork, chicken, turkey and eggs 2 to 18 times higher than the parent vitamin alone. Food tables are therefore a lower estimate for some animal foods.
Where does sunlight fit in?
The ODS says people can get some of their vitamin D from sunlight, but season, time of day, length of day, cloud cover, skin melanin and other factors affect how much is made. This is why the vitamin D in food and the vitamin D made in skin are usually discussed separately.
Food and skin both count
Vitamin D from the sun, food and supplements all goes through the same conversion in the liver and kidney before the body can use it. Food tables only show the food part.
How much vitamin D do you need, and how much is too much?
The Thai RDI for vitamin D is 15 µg (600 IU) a day, for the general population aged 3 and over. The ODS and the NHS both give 1 µg of vitamin D as equal to 40 IU. For the Thai RDIs of other nutrients, see What are the Thai daily reference amounts for each nutrient?
Upper limits
| Number | What it means | Source |
|---|---|---|
| 15 µg (600 IU) a day | Thai daily reference amount, ages 3 and over | Thai RDIs |
| 100 µg (4,000 IU) a day | Upper limit for adults | US value (ODS); the NHS gives the same figure |
| 50 µg (2,000 IU) a day | Upper limit for children aged 1 to 10 | NHS |
The NHS advises adults, including pregnant and breastfeeding women and older people, and children aged 11 to 17, not to take more than 100 µg a day, and children aged 1 to 10 not more than 50 µg.
Who should talk to a doctor or pharmacist?
If you are pregnant, breastfeeding, or taking prescription medication, check with a doctor or pharmacist before taking supplements.
Dietary supplements are not intended to prevent, treat or cure any disease.
Frequently asked questions
Which foods have the most vitamin D?
Which Thai foods are high in vitamin D?
How much vitamin D do you need a day?
Is the vitamin D in an egg in the yolk or the white?
Does milk contain vitamin D?
Do vegetables and fruit contain vitamin D?
How much vitamin D do Thai people get from food?
- Ministry of Public Health Notification No. 445 (B.E. 2566) on Nutrition Labelling – Thai RDIs (Annex 3)
- Ministry of Public Health Notification No. 447 (B.E. 2566)
- US Department of Agriculture: FoodData Central (SR Legacy) ↗
- NIH Office of Dietary Supplements: Vitamin D (Health Professional Fact Sheet) ↗
- NHS: Vitamin D ↗
- Sridonpai P, Judprasong K, Tirakomonpong N, et al. Effects of different cooking methods on the vitamin D content of commonly consumed fish in Thailand. Foods 2022 (PubMed) ↗
- Sridonpai P, Suthipibul P, Boonyingsathit K, et al. Vitamin D content in commonly consumed mushrooms in Thailand and its true retention after household cooking. Foods 2023 (PubMed) ↗
- Jaruratanasirikul S, Boonrusmee S, Kasemsripitak S, et al. Vitamin D status in non-pregnant women of reproductive age: a study in Southern Thailand. Sci Rep 2023 (PubMed) ↗
- Schmid A, Walther B. Natural vitamin D content in animal products. Adv Nutr 2013 (PubMed) ↗
- Benedik E. Sources of vitamin D for humans. Int J Vitam Nutr Res 2022 (PubMed) ↗
We use cookies to improve performance and give you a better experience on this website. If you accept, we can show you content that better matches your interests. You can change your consent at any time via “Cookie settings”. Cookie policy
