Caterpillars, the larvae of butterflies and moths, feed almost exclusively on plants. You will find most caterpillars munching happily on leaves, though some will feed on other plant parts, like seeds or flowers. A small number of caterpillars are carnivorous, usually feeding on small, soft-bodied insects like aphids.
Plant-eating caterpillars fall into one of two categories: generalist feeders, or specialist feeders. Generalist caterpillars feed on a variety of plants. Mourning cloak caterpillars, for example, will feed on willow, elm, aspen, paper birch, cottonwood, and hackberry. Specialist caterpillars restrict their feeding to smaller, related groups of plants. The monarch caterpillar feeds only on the foliage of milkweed plants.