Your body makes vitamin D from sunlight, but diet is an important source, too. Vitamin D is primarily found in animal foods, such as eggs. A large egg contains about 1.1 micrograms (44 international units (IU) of vitamin D), which is roughly 6% of the Daily Value (DV). While eggs provide some vitamin D, they are far from the richest source. Fatty fish are among the best dietary sources of vitamin D you can eat, offering significantly higher amounts than eggs.
SimpleImages / Getty Images
- Vitamin D content: 14.2 mcg, 570 IU (71% DV)
- Serving size: 3 ounces
Salmon is one of the few natural sources of vitamin D. Salmon also packs an impressive amount of healthy fats, such as anti-inflammatory omega-3’s, which help your body absorb fat-soluble nutrients.
In addition to vitamin D, salmon is a rich source of protein, vitamin B12, and several essential minerals, including potassium and selenium. Salmon also contains a pigment called astaxanthin, which has powerful cellular-protective properties and may protect against cognitive decline.
Costela Iordanescu / Getty Images
- Vitamin D content: 16.2 mcg, 645 IU (81% DV)
- Serving size: 3 ounces
Rainbow trout is a fatty fish that’s much richer in vitamin D than eggs. Fish build up vitamin D naturally through what they eat. By feeding on smaller organisms that produce vitamin D from sunlight, the nutrient becomes stored in the fish’s fat. This is why fatty fish, like trout, are some of the best sources of vitamin D you can eat.
Trout also provides omega-3 fatty acids, selenium, B12, and zinc, making it an all-around healthy seafood option.
SimpleImages / Getty Images
- Vitamin D content: 6.2 micrograms, 248 IU (31% of the DV)
- Serving size: 3 ounces
Canned mackerel is a shelf-stable and affordable protein source that delivers key nutrients, like vitamin D.
As an oily fish, mackerel supplies the fats needed to help your body absorb this fat-soluble vitamin. Mackerel also contains an impressive amount of omega-3 fats and selenium, both of which are required for healthy immune function.
Antonio Hugo Photo / Getty Images
- Vitamin D content: 4.1 mcg, 164 IU (20.5% DV)
- Serving size: 3 ounces
Though small, sardines pack an impressive amount of nutrients per serving. They’re high in vitamin D, omega-3 fatty acids, iron, vitamin E, selenium, vitamin B12, and calcium.
Because they’re so nutrient-dense, studies show that regularly eating sardines may help lower the risk of developing health conditions, like heart disease and type 2 diabetes. Plus, sardines are shelf-stable and more affordable than fresh seafood products.
Olga Mazyarkina / Getty Images
- Vitamin D content: 14.1 mcg, 564 IU (70.5% DV)
- Serving size: 3 ounces
Swordfish is one of the best sources of vitamin D you can eat. It also provides a high-quality source of protein, as well as vitamins and minerals, such as selenium. However, because swordfish is a large predatory fish, it accumulates more mercury (a toxic heavy metal) than smaller fish.
Regularly consuming high-mercury seafood can lead to serious side effects, including neurological issues from mercury accumulation. For this reason, high-mercury fish, like swordfish, should be limited or avoided, particularly by pregnant people and young children.
VICUSCHKA / Getty Images
- Vitamin D content: 4.59 mcg, 182 IU (22.75% DV)
- Serving size: 3 ounces
Herring are small, oily fish that are an excellent source of vitamin D, They’re also high in protein, omega‑3 fats, iodine, selenium, and vitamin B12.
Canned herring packed with bones is rich in calcium and is also shelf-stable and more affordable than fresh mackerel. As a small forage fish, herring are very low in mercury, making them one of the safest seafood choices for regular consumption.

