Caterpillars eat specific plants that we refer to as their host plants. Each species of butterflies have their own particular host plants. For example, Monarch caterpillars feed only on Milkweeds. Most caterpillars feed on leaves, but some will also eat the flowers and seeds. The Harvester butterfly caterpillar actually feeds on aphids; it is thought to be the only carnivorous butterfly larva.
Zebra Swallowtail caterpillar eating PawPaw leaf Sweet Bay Magnolia leaf eaten by Eastern Tiger Swallowtail Spicebush caterpillar eating Spicebush leaf