The butterfly life cycle consists of four stages: egg, caterpillar, pupa, and adult butterfly. The caterpillar stage is the “growth” stage and the caterpillar will increase its body mass several thousand times in a matter of weeks.
Thus, eating is the number one function of the caterpillar. Each butterfly species has a particular family of host plants or a few families from which their caterpillars must eat in order to survive.
A common example of a butterfly species which uses only one family of host plant is the Monarch butterfly. The Monarch caterpillar can only eat plant leaves from the Milkweed family. There are several varieties of milkweed that will provide food for the caterpillar but it must be a milkweed.
The Black Swallowtail caterpillar is an example of a caterpillar that can eat a more varied diet including the parsley family, carrots, dill, fennel, Queen Anne’s Lace, celery, caraway, and the caterpillars will feed not only on the leaves of the host plants but also the flowers.
An adult female butterfly is good at finding the precise host plant(s) on which to lay her eggs because if she lays them on the wrong plant the caterpillars will not eat and will die.
Most caterpillars eat the leaves of plants and some will have preferences for younger or older leaves and even the flowers. The range of plants used as caterpillar food varies tremendously. Host plants can consist of annuals, perennials, shrubs and trees.
A few caterpillars such as the Harvester butterfly’s caterpillars actually eat aphids that are on various plants. The female Harvester butterfly will lay her eggs next to an aphid colony.
Caterpillars do not have to drink water. They get all the water they need from their food.
So, we can conclude that the actual plant type or part of the host plant that the caterpillar eats is very specific to the species of caterpillar.