Fish live in almost every type of aquatic environment, from small freshwater ponds and quiet streams to deep oceans and coral reefs. Because fish live in such different habitats, they do not all eat the same foods.
So, what do fish eat? Fish may eat algae, aquatic plants, insects, worms, small crustaceans, plankton, smaller fish, and other animals. Some fish mainly eat plants, while others hunt animals. Many species are omnivores and eat a mixture of both.
A fish’s diet usually depends on its species, size, habitat, and the food naturally available in its environment.
Understanding what fish eat is useful whether you are simply curious about wildlife or looking after fish in an aquarium. Feeding a fish the wrong food can cause poor nutrition, unhealthy growth, or water-quality problems, so it is worth knowing what a particular fish actually needs.
Natural Feeding in the Wild?
In the wild, fish have access to many different types of food. Some search along the bottom of rivers and lakes, while others feed near the surface. Ocean fish may spend their lives eating plankton, algae, crustaceans, or other marine animals.
Common foods eaten by wild fish include:
- Algae
- Aquatic plants
- Plankton
- Insects and insect larvae
- Worms
- Small crustaceans
- Mollusks
- Smaller fish
- Fish eggs
- Amphibian larvae
- Dead organic material
The exact diet varies greatly between species.
For example, a small freshwater fish may spend much of its time picking insects from plants, while a larger predatory fish may chase smaller fish. Some bottom-feeding fish search through mud, sand, or gravel for worms and tiny animals.
This is one reason there is no single food that is suitable for every fish.
Plant-Based Foods
Yes, many fish eat plants.
Plant-eating fish are often called herbivorous fish. Their diets can include algae, aquatic vegetation, fruits that fall into the water, and other plant material.
Some fish scrape algae from rocks and other underwater surfaces. Others eat leaves, stems, or soft aquatic plants.

Plant matter provides nutrients and energy, but herbivorous fish often have specialized feeding behaviors that help them process plant-based foods.
Not every fish that eats plants is strictly herbivorous, though. Some species combine plants with insects, small animals, or other foods.
Do Fish Eat Algae?
Algae is an important food source for many fish.
Small algae can grow on rocks, wood, plants, and other surfaces underwater. Certain fish naturally graze these surfaces, scraping algae away as they feed.
Some aquarium fish are also known for eating algae. However, this does not mean they can survive entirely by cleaning algae from an aquarium.
An aquarium fish may still need a properly balanced diet.
Algae-eating species can help consume some naturally occurring algae, but they should not be treated as a replacement for regular care and appropriate feeding.
Do Fish Eat Insects?
Many fish eat insects and insect larvae.
This is especially common among freshwater fish. Insects may fall onto the surface of a pond, stream, or river, where fish can quickly grab them. Other insects spend part of their life underwater as larvae.
Fish may eat:
- Mosquito larvae
- Mayfly larvae
- Dragonfly larvae
- Small flies
- Beetles
- Ants
- Other small insects
For some fish, insects are an important source of protein.
In streams and rivers, fish often watch the water surface for insects drifting downstream. This is also why insects are commonly used as bait when people fish.
Do Fish Eat Worms?
Yes. Worms are food for many fish species.
Fish may eat earthworms, aquatic worms, and other small worm-like animals found in their habitat.
Bottom-feeding fish are particularly likely to encounter worms while searching through sediment, plants, and other material.
Worms provide protein and other nutrients, making them a useful natural food for many species.
However, the fact that a fish can eat a worm does not mean every aquarium should be given any type of worm. Captive fish have different nutritional requirements, and food should be appropriate for the species.
Do Fish Eat Other Fish?
Some fish definitely eat other fish.
These fish are known as carnivorous or predatory fish, depending on their feeding behavior and diet.

Larger predatory fish may hunt smaller fish when they have the opportunity. Their bodies, teeth, jaws, and swimming abilities can be adapted for catching prey.
Examples of fish that may eat other fish include larger species of bass, pike, tuna, groupers, and many other predators.
Some small fish can also eat tiny fish or fish larvae.
Predatory fish are not necessarily aggressive all the time. Hunting is simply part of their natural feeding behavior and survival strategy.
Do Fish Eat Plankton?
Yes, plankton is one of the most important foods in aquatic ecosystems.
Plankton includes tiny organisms that drift through water. Some are plant-like organisms called phytoplankton, while others are animals or animal-like organisms called zooplankton.
Many small fish feed on plankton. Some larger fish also consume enormous quantities of tiny organisms.
Plankton is especially important in marine food webs. Tiny organisms are eaten by small fish and other animals, which are then eaten by larger predators.
In this way, even a very large ocean fish can ultimately depend on tiny organisms at the bottom of the food chain.
What Do Aquarium Fish Eat?
Aquarium fish usually eat specially prepared fish food rather than finding all their food naturally.
The correct food depends on the species.
Common aquarium fish foods include:
- Flakes
- Pellets
- Granules
- Wafers
- Frozen foods
- Freeze-dried foods
- Some live foods
- Vegetable-based foods
Flakes are popular because they are easy to use and suitable for many common aquarium fish.
Pellets and granules come in different sizes and formulas. Some float at the surface, while others sink, making them useful for fish that feed at different levels of the aquarium.
Bottom-dwelling fish may benefit from sinking foods because they naturally search for food near the substrate.
The important point is not simply choosing “fish food.” You need food that matches the species you keep.
What Do Goldfish Eat?
Goldfish are omnivores, which means they can eat both plant and animal foods.

In an aquarium, goldfish are commonly fed specially formulated goldfish pellets or flakes. Their diet can also include suitable vegetable matter and other properly prepared foods.
Goldfish should not be fed unlimited amounts simply because they appear hungry.
Fish can quickly learn to approach the surface when a person comes near the aquarium, but this behavior does not always mean they need more food.
Overfeeding can leave uneaten food in the tank, which can contribute to poor water quality.
What Do Tropical Fish Eat?
Tropical fish have very different diets because “tropical fish” refers to many different species rather than one type of fish.
Some tropical fish are herbivores, some are carnivores, and many are omnivores.
Depending on the species, they may eat:
- Algae
- Plant material
- Insects
- Small crustaceans
- Worms
- Small fish
- Prepared aquarium foods
Before buying food for tropical fish, it is better to identify the species first. A food designed for one fish may not provide the ideal nutrition for another.
What Do Saltwater Fish Eat?
Saltwater fish have equally diverse diets.
Some marine fish graze on algae, while others hunt crustaceans, mollusks, worms, plankton, or smaller fish.
For aquarium saltwater fish, commercially prepared marine foods are available for different feeding habits.
Some species feed near the surface, others in the middle of the water column, and some search around rocks and the aquarium floor.
Matching food to natural feeding behavior can make feeding more effective.
Do All Fish Eat the Same Food?
No. Fish have very different dietary needs.
This is one of the most important things to remember when asking what do fish eat.
A tiny herbivorous fish and a large predatory fish may live in the same general environment but have completely different diets.
Even two aquarium fish that look similar may require different nutrition.
Their diet can depend on:
- Species – Different species naturally eat different foods.
- Size – A fish’s mouth and body size affect what it can eat.
- Habitat – Food availability changes between rivers, lakes, reefs, and oceans.
- Age – Young fish may have different nutritional needs from adults.
- Feeding behavior – Some fish feed at the surface, while others feed near the bottom.
- Availability of food – Wild fish often eat what is naturally available in their environment.
This explains why there is no universal fish diet.
How Often Should Aquarium Fish Be Fed?
There is no single feeding schedule that works for every aquarium fish.
The correct amount and frequency depend on the species, age, size, activity level, and food being used.
One of the most common aquarium mistakes is giving fish too much food.
When extra food remains uneaten, it can break down and contribute to water-quality problems.
A practical approach is to give an appropriate amount and watch how quickly the fish consume it. The feeding instructions for the specific food and the needs of the fish should also be considered.
If you keep several species together, remember that fast-feeding fish may eat food before slower fish get a chance.
Can Fish Eat Human Food?
Generally, you should not assume that human food is safe or nutritionally appropriate for fish.
Fish have specialized nutritional requirements. Foods made for people can contain ingredients, seasonings, oils, salt, or other substances that are unsuitable for aquarium fish.
Instead of experimenting with random kitchen foods, use a diet designed for the particular fish species.
Some fish can safely receive specific vegetables or other natural foods as part of a carefully planned diet, but these should be chosen according to the species.
What Do Baby Fish Eat?
Baby fish, often called fry, can have very different feeding requirements from adult fish.
Some newly hatched fish initially survive using nutrients from their yolk sac. Once they begin actively feeding, they may require extremely small foods.
Depending on the species, young fish may eat tiny organisms, microorganisms, specially prepared fry foods, or other appropriately sized foods.
Food size is especially important. A food that is too large may simply be impossible for a very small fish to consume.
This is why breeding and raising fish requires knowledge of the particular species rather than following a general adult feeding routine.
How Fish Find Their Food
Fish use several senses and behaviors to locate food.
Vision is important for many species, especially those that hunt moving prey. Other fish rely heavily on smell and other sensory systems to detect food in the water.
Some fish actively search through plants and rocks. Others wait for prey to come close.
Bottom feeders may use their mouths and sensory structures to locate food in sediment, while predatory fish may detect movement and quickly chase prey.
These different feeding strategies are closely connected to where fish live and what they naturally eat.
Why Fish Diets Matter
Food is not only about satisfying hunger. A suitable diet provides the nutrients fish need for growth, energy, normal body functions, and reproduction.
In an aquarium, diet also affects appearance and overall condition.
However, more food does not necessarily mean a healthier fish.
The goal is appropriate nutrition, not simply feeding as much as possible.
For wild fish, the variety of food available in their environment can also change throughout the year. Seasonal insects, spawning events, changing water conditions, and migration can all influence what fish eat.
Read More: Porpoise vs Dolphin: Key Differences Explained
Frequently Asked Questions
What do fish eat?
Fish eat many different foods depending on their species and habitat. Their diets can include algae, plants, plankton, insects, worms, crustaceans, mollusks, smaller fish, and specially prepared aquarium foods.
Do fish eat plants?
Yes. Many fish eat algae and aquatic plants. Some are primarily herbivores, while omnivorous fish may eat plants along with animal-based foods.
Do fish eat other fish?
Yes. Many predatory and carnivorous fish eat smaller fish. Some species also eat fish eggs or larvae.
Do fish eat insects?
Yes. Many freshwater fish eat insects and aquatic insect larvae. Insects can be an important natural source of protein.
What do aquarium fish eat?
Aquarium fish commonly eat flakes, pellets, granules, wafers, frozen foods, freeze-dried foods, and other species-appropriate foods.
Can fish eat human food?
It is generally better to feed fish food formulated for their species rather than random human foods. Some species can eat certain vegetables or natural foods, but their suitability depends on the fish.
Do all fish eat the same food?
No. Fish have different diets based on their species, size, habitat, age, and feeding behavior.
Final Thoughts
So, what do fish eat? The answer depends on the fish.
Some fish mainly eat plants and algae, while others feed on insects, worms, plankton, crustaceans, or smaller fish. Many species are omnivores and eat a mixture of plant and animal foods.
Aquarium fish also need a diet suited to their particular species. Choosing the right food and avoiding overfeeding are important parts of keeping fish healthy.
The more we learn about a fish’s natural habitat and feeding behavior, the easier it becomes to understand what that fish needs. There is no single “fish food” that is perfect for every species—and that diversity is one of the most interesting things about fish.
