Kupu-kupu mengalami metamorfosis lengkap. Ini berarti bahwa ada empat bagian dalam kehidupan kupu-kupu. Bagian pertama adalah telur. Bagian kedua adalah ulat (kadang-kadang disebut larva). Bagian ketiga adalah kepompong (kadang-kadang disebut pupa). Bagian keempat adalah dewasa (kadang disebut imago).
Telur
Kupu-kupu betina akan bertelur di atas atau di dekat tanaman makanan ulat (tanaman makanan adalah tanaman yang dimakan ulat). Kupu-kupu betina akan memilih tempat untuk bertelur dengan menggunakan penciuman, rasa, sentuhan, dan penglihatan. Sebagian besar spesies hanya akan meletakkan satu telur pada tanaman makanan. Spesies lainnya akan bertelur dalam kelompok yang terdiri dari lima hingga lebih dari 100 telur pada tanaman makanan. Sebagian besar spesies akan meletakkan telurnya pada daun tanaman pangan. Spesies lainnya akan meletakkan telurnya pada bunga, batang, kulit kayu, atau buah dari tanaman pangan.
Telur-telur ini memiliki bentuk dan warna yang berbeda-beda. Bentuknya bisa bulat atau lonjong, dan pipih. Pada beberapa spesies, cangkang telurnya bergaris-garis. Warna yang paling umum pada telur kupu-kupu adalah kuning dan hijau. Telur-telur akan berubah menjadi gelap sesaat sebelum menetas. Selain itu, beberapa kupu-kupu membutuhkan waktu satu hari untuk keluar dari telur, sementara yang lainnya bisa memakan waktu berbulan-bulan.
Caterpillar
Ulat kupu-kupu bisa bervariasi dalam ukuran, warna, dan bentuk. Mereka mungkin memiliki duri, bulu, atau ekstensi tubuh yang lembut. Semua ulat memiliki 13 segmen tubuh. Tiga segmen pertama membentuk toraks. Toraks memiliki tiga pasang kaki. Kaki-kaki ini disebut kaki sejati. 10 segmen lainnya membentuk abdomen. Perut memiliki lima pasang kaki lunak yang disebut prolegs. Prolegs memiliki kait kecil di ujung masing-masing kaki. Mereka digunakan untuk berpegangan pada sesuatu. Kait tersebut disebut crochets.
Kulit ulat tidak tumbuh. Saat ulat tumbuh di dalam kulitnya, kulitnya menjadi terlalu ketat. Agar ulat bisa tumbuh lebih besar, ulat akan melepaskan kulitnya yang terlalu ketat. Setelah kulit lama terlepas, akan muncul kulit baru yang lebih besar. Hal ini dikenal sebagai moulting. Ulat akan moulting empat sampai lima kali sebelum berubah menjadi pupa. Setiap bagian di antara moulting disebut instar.
Semua ulat dapat membuat sutra. Sutra dibuat dari kelenjar ludah. Sutra dimulai sebagai cairan dalam kelenjar ludah. Ulat menarik keluar sutra menjadi benang kecil. Sutra akan mengeras segera setelah terpapar udara. Ulat menggunakan sutra untuk membuat sarang atau kepompong.
Kebanyakan ulat memakan daun tanaman atau pohon. Sebagian besar spesies ulat hanya akan memakan sejumlah kecil jenis tanaman tertentu. Jika tanaman makanan ulat tidak ditemukan, ulat akan mati kelaparan.
Beberapa spesies ulat (dalam keluarga Lycaenidae) dipelihara oleh semut. Ulat memiliki kelenjar khusus yang menghasilkan cairan manis yang disebut honeydew. Semut-semut menyukai melon. Sebagai imbalan atas cairan madu, semut melindungi ulat dari predator. Ulat juga memiliki bagian tubuh khusus yang dapat mengeluarkan suara. Ulat akan mengeluarkan suara dengan bagian tubuh tersebut dan "memanggil" semut ketika ulat sedang diserang oleh predator. Semut-semut mendengar suara tersebut dan datang untuk melindungi ulat.
Ulat dalam subfamili Miletinae memakan serangga dalam ordo Hemiptera. Ini termasuk kutu daun, kutu putih, wereng daun dan wereng pohon. p356
Ulat dalam keluarga Papilionidae memiliki organ khusus. Organ ini disebut osmeterium. Ini adalah kelenjar berbau busuk yang berbentuk seperti lidah ular. Kelenjar ini disimpan di belakang bagian dalam kepala. Ketika pemangsa mencoba memakan ulat, ulat akan melepaskan osmeterium. Hal ini membuat pemangsa takut. p161
Pupa
Pupa (jamak, pupa) terbentuk setelah mabung terakhir. Ulat akan menemukan tempat khusus untuk menjadi kepompong (pupate berarti berubah menjadi pupa). Saluran pencernaan dikosongkan. Ulat melepaskan kulitnya. Pupa sekarang terbuka. Jaringan ulat dipecah dan dibangun kembali menjadi jaringan kupu-kupu.
Pupa tidak bisa bergerak. Pupa melekat pada suatu objek dengan kait-kait kecil di ujung perutnya. Kait ini membentuk apa yang disebut cremaster. Ada banyak lubang kecil pada pupa. Lubang-lubang ini memungkinkan gas-gas pernafasan bergerak masuk dan keluar dari pupa.
Banyak kepompong yang mudah diserang predator. Beberapa ulat (dalam famili Hesperiidae dan subfamili Parnassiinae dan Satyrinae) membuat tempat berlindung dari sutra dan dedaunan untuk melindungi diri mereka sendiri ketika mereka menjadi pupa. Tempat berlindung ini disebut kepompong. Sebagian besar kepompong kupu-kupu tidak memiliki kepompong untuk melindungi diri mereka sendiri. Sebagai gantinya, kepompong memiliki warna coklat atau hijau untuk menyamarkan diri mereka di antara dedaunan dan cabang-cabang. Kepompong yang tidak memiliki kepompong disebut kepompong atau krisan.